{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 时间事件日志\n",
    "\n",
    "个人时间统计工具。要点：\n",
    "\n",
    "* 使用 dida365.com 来作为 GTD 工具\n",
    "* 使用特殊格式记录事件类别和花费的时间，如： “*[探索发现] 体验 iMac 开发环境 [3h]*”\n",
    "* 导出数据\n",
    "* 分析数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 读取数据\n",
    "\n",
    "分析并读取数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from matplotlib.font_manager import FontManager\n",
    "import subprocess    \n",
    "\n",
    "def get_support_chinese_font():\n",
    "    fm = FontManager()\n",
    "    mat_fonts = set(f.name for f in fm.ttflist)\n",
    "\n",
    "    output = subprocess.check_output('fc-list :lang=zh -f \"%{family}\\n\"', shell=True)\n",
    "    print ('*' * 10, '系统可用的中文字体', '*' * 10)\n",
    "    print (output)\n",
    "    zh_fonts = set(f.split(',', 1)[0] for f in output.split('\\n'))\n",
    "    available = mat_fonts & zh_fonts\n",
    "\n",
    "    print ('*' * 10, '可用的中文字体', '*' * 10)\n",
    "    for f in available:\n",
    "        print (f)\n",
    "    return available"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from matplotlib.pylab import mpl\n",
    "\n",
    "mpl.rcParams['font.sans-serif'] = ['Arial Unicode MS'] # 指定默认字体\n",
    "mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>List Name</th>\n",
       "      <th>Title</th>\n",
       "      <th>Content</th>\n",
       "      <th>Is Checklist</th>\n",
       "      <th>Reminder</th>\n",
       "      <th>Repeat</th>\n",
       "      <th>Priority</th>\n",
       "      <th>Status</th>\n",
       "      <th>Completed Time</th>\n",
       "      <th>Order</th>\n",
       "      <th>Timezone</th>\n",
       "      <th>Is All Day</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Due Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-05-24</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [1h]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016-05-25T14:15:10+0000</td>\n",
       "      <td>-235295488344064</td>\n",
       "      <td>Asia/Shanghai</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [0.5h]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016-05-24T15:59:08+0000</td>\n",
       "      <td>-234195976716288</td>\n",
       "      <td>Asia/Shanghai</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] clojure ring request [2h]</td>\n",
       "      <td>阅读 ring.util.request 源码\\r</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016-05-24T15:58:56+0000</td>\n",
       "      <td>-233096465088512</td>\n",
       "      <td>Asia/Shanghai</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] clojure ring 入门 [30m]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016-05-23T15:03:24+0000</td>\n",
       "      <td>-231996953460736</td>\n",
       "      <td>Asia/Shanghai</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[探索发现] 体验 iMac 开发环境 [3h]</td>\n",
       "      <td>iMac 的屏幕体验很棒，但使用非SSD硬盘速度上和mpb想着非常多。\\r</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016-05-23T14:33:35+0000</td>\n",
       "      <td>-230897441832960</td>\n",
       "      <td>Asia/Shanghai</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           List Name                            Title  \\\n",
       "Due Date                                                \n",
       "2016-05-24      自我成长    [编程] javascript exercism [1h]   \n",
       "2016-05-23      自我成长  [编程] javascript exercism [0.5h]   \n",
       "2016-05-23      自我成长   [编程] clojure ring request [2h]   \n",
       "2016-05-22      自我成长       [编程] clojure ring 入门 [30m]   \n",
       "2016-05-22      自我成长         [探索发现] 体验 iMac 开发环境 [3h]   \n",
       "\n",
       "                                          Content Is Checklist  Reminder  \\\n",
       "Due Date                                                                   \n",
       "2016-05-24                                    NaN            N       NaN   \n",
       "2016-05-23                                    NaN            N       NaN   \n",
       "2016-05-23              阅读 ring.util.request 源码\\r            N       NaN   \n",
       "2016-05-22                                    NaN            N       NaN   \n",
       "2016-05-22  iMac 的屏幕体验很棒，但使用非SSD硬盘速度上和mpb想着非常多。\\r            N       NaN   \n",
       "\n",
       "            Repeat  Priority  Status            Completed Time  \\\n",
       "Due Date                                                         \n",
       "2016-05-24     NaN         0       2  2016-05-25T14:15:10+0000   \n",
       "2016-05-23     NaN         0       2  2016-05-24T15:59:08+0000   \n",
       "2016-05-23     NaN         0       2  2016-05-24T15:58:56+0000   \n",
       "2016-05-22     NaN         0       2  2016-05-23T15:03:24+0000   \n",
       "2016-05-22     NaN         0       2  2016-05-23T14:33:35+0000   \n",
       "\n",
       "                      Order       Timezone  Is All Day  \n",
       "Due Date                                                \n",
       "2016-05-24 -235295488344064  Asia/Shanghai        True  \n",
       "2016-05-23 -234195976716288  Asia/Shanghai        True  \n",
       "2016-05-23 -233096465088512  Asia/Shanghai        True  \n",
       "2016-05-22 -231996953460736  Asia/Shanghai        True  \n",
       "2016-05-22 -230897441832960  Asia/Shanghai        True  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def _date_parser(dstr):\n",
    "    return pd.Timestamp(dstr).date()\n",
    "\n",
    "data = pd.read_csv('data/dida365.csv', header=3, index_col='Due Date', parse_dates=True, date_parser=_date_parser)\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据清洗\n",
    "\n",
    "* 只关心己完成或己达成的事件，即 `status != 0` 的事件\n",
    "* 只需要 `List Name` 和 `Title` 字段"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>List Name</th>\n",
       "      <th>Title</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Due Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-05-24</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [1h]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [0.5h]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] clojure ring request [2h]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] clojure ring 入门 [30m]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[探索发现] 体验 iMac 开发环境 [3h]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [0.5h]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-20</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [1h]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-20</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] Clojure 程序设计 exercism [3h]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-19</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] Clojure 程序设计 exercism [1h]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-18</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] Clojure 程序设计 exercism [2h]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           List Name                            Title\n",
       "Due Date                                             \n",
       "2016-05-24      自我成长    [编程] javascript exercism [1h]\n",
       "2016-05-23      自我成长  [编程] javascript exercism [0.5h]\n",
       "2016-05-23      自我成长   [编程] clojure ring request [2h]\n",
       "2016-05-22      自我成长       [编程] clojure ring 入门 [30m]\n",
       "2016-05-22      自我成长         [探索发现] 体验 iMac 开发环境 [3h]\n",
       "2016-05-22      自我成长  [编程] javascript exercism [0.5h]\n",
       "2016-05-20      自我成长    [编程] javascript exercism [1h]\n",
       "2016-05-20      自我成长  [编程] Clojure 程序设计 exercism [3h]\n",
       "2016-05-19      自我成长  [编程] Clojure 程序设计 exercism [1h]\n",
       "2016-05-18      自我成长  [编程] Clojure 程序设计 exercism [2h]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = data[data['Status'] != 0].loc[:, ['List Name', 'Title']]\n",
    "df.head()\n",
    "\n",
    "# df = data[data['Status'] != 0].loc[:,['List Name','Title']]\n",
    "# df.head(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据解析\n",
    "\n",
    "解析事件类别和和花费的时间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>List Name</th>\n",
       "      <th>Title</th>\n",
       "      <th>Tag</th>\n",
       "      <th>Duration</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Due Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-05-24</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [1h]</td>\n",
       "      <td>编程</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [0.5h]</td>\n",
       "      <td>编程</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] clojure ring request [2h]</td>\n",
       "      <td>编程</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] clojure ring 入门 [30m]</td>\n",
       "      <td>编程</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[探索发现] 体验 iMac 开发环境 [3h]</td>\n",
       "      <td>探索发现</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           List Name                            Title   Tag  Duration\n",
       "Due Date                                                             \n",
       "2016-05-24      自我成长    [编程] javascript exercism [1h]    编程       1.0\n",
       "2016-05-23      自我成长  [编程] javascript exercism [0.5h]    编程       0.5\n",
       "2016-05-23      自我成长   [编程] clojure ring request [2h]    编程       2.0\n",
       "2016-05-22      自我成长       [编程] clojure ring 入门 [30m]    编程       0.5\n",
       "2016-05-22      自我成长         [探索发现] 体验 iMac 开发环境 [3h]  探索发现       3.0"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import re\n",
    "\n",
    "def parse_tag(value):\n",
    "    m = re.match(r'^(\\[(.*?)\\])?.*$', value)\n",
    "    if m and m.group(2):\n",
    "        return m.group(2)\n",
    "    else:\n",
    "        return '其他'\n",
    "\n",
    "def parse_duration(value):\n",
    "    m = re.match(r'^.+?\\[(.*?)([hm]?)\\]$', value)\n",
    "    if m:\n",
    "        dur = 0\n",
    "        try:\n",
    "            dur = float(m.group(1))\n",
    "        except e:\n",
    "            print('parse duration error: \\n%s' % e)\n",
    "        if m.group(2) == 'm':\n",
    "            dur = dur / 60.0\n",
    "        return dur\n",
    "    else:\n",
    "        return 0\n",
    "    \n",
    "titles = df['Title']\n",
    "titles\n",
    "df['Tag'] = titles.map(parse_tag)\n",
    "df['Duration'] = titles.map(parse_duration)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "List Name    232\n",
       "Title        232\n",
       "Tag          232\n",
       "Duration     232\n",
       "dtype: int64"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "datetime.date(2015, 12, 2)"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "start_date = df.index.min().date()\n",
    "start_date"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "datetime.date(2016, 5, 24)"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "end_date = df.index.max().date()\n",
    "end_date"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据分析\n",
    "\n",
    "#### 时间总览\n",
    "\n",
    "平均每天投资在自己身上的时间是多少？-> *全部时间 / 总天数*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "174"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ret = end_date - start_date\n",
    "ret.days"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "482.2"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['Duration'].sum() "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.7712643678160918"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['Duration'].sum() / (end_date - start_date).days"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 精力分配"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Duration</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Tag</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>写作</th>\n",
       "      <td>49.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>探索发现</th>\n",
       "      <td>54.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>机器学习</th>\n",
       "      <td>33.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>电影</th>\n",
       "      <td>50.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>243.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>阅读</th>\n",
       "      <td>51.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      Duration\n",
       "Tag           \n",
       "写作        49.0\n",
       "探索发现      54.5\n",
       "机器学习      33.5\n",
       "电影        50.8\n",
       "编程       243.4\n",
       "阅读        51.0"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tag_list = df.groupby(['Tag']).sum()\n",
    "tag_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7fe58fbe46d8>"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/python/Anaconda3/lib/python3.6/site-packages/matplotlib/font_manager.py:1316: UserWarning: findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans\n",
      "  (prop.get_family(), self.defaultFamily[fontext]))\n"
     ]
    },
    {
     "data": {
      "image/png": "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\njyZmpZLVwDPAk8CiphtriGQEFa9Ik3AoOpLkpUmfB6YB+UYDZZfNJJdufIXkqHa74TwiXUbFK9KK\ncCgaAE4GJn/mUWY0VGbZBfyLprJ1IvYGw3lEXKPiFWmncCg6gmQBn9n060izidJGLclb7b0BvA68\nrqKVbKbiFTlKTRO1xgFjmx7jSN5NKZsnbNUAa0kW7etNj5VOxG4wmkokhah4RTpROBT1AsP5tJBH\nAUOAoUChwWidbQ/wTiuPzU7E1n8qIm1Q8Yq4JByK9uDTEh76md/3JXn+uJTUWHM6AewEPgS2krzv\n82ZgS9NjvZZiFDl6Kl6RFNE0Wi4FepIs4s8+8oHcVh45n/k1TvLGAI2H+bUe2Ad83MbjI2C7E7Fj\nXf3nFclWKl4REREXpcJhLRERkayh4hUREXGRildERMRFKl4REREXqXhFRERcpOIVERFxkYpXRETE\nRSpeERERF6l4RUREXKTiFRERcZGKV0RExEUqXhERERepeEVERFyk4hUREXGRildERMRFKl4REREX\nqXhFRERcpOIVERFxkYpXRETERSpeERERF6l4RUREXKTiFRERcZGKV0RExEUqXhERERepeEVERFyk\n4hUREXGRildERMRFKl4REREXqXhFRERcpOIVERFxkYpXRETERSpeERERF6l4RUREXKTiFRERcZGK\nV0RExEUqXhERERepeEVERFyk4hUREXGRildERMRFKl4REREXqXhFRERcpOIVERFxkYpXRETERSpe\nERERF6l4RUREXKTiFRERcZGKV0RExEUqXhERERepeEVERFyk4hUREXGRildERMRFKl4REREXqXhF\nRERc9L8d6yDkCyzuzgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fe58fbf6e10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "tag_list['Duration'].plot(kind='pie', figsize=(8, 8), fontsize=16, autopct='%1.2f%%')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 专注力\n",
    "\n",
    "长时间学习某项技能的能力"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>List Name</th>\n",
       "      <th>Title</th>\n",
       "      <th>Tag</th>\n",
       "      <th>Duration</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Due Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-05-24</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [1h]</td>\n",
       "      <td>编程</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [0.5h]</td>\n",
       "      <td>编程</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] clojure ring request [2h]</td>\n",
       "      <td>编程</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] clojure ring 入门 [30m]</td>\n",
       "      <td>编程</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [0.5h]</td>\n",
       "      <td>编程</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           List Name                            Title Tag  Duration\n",
       "Due Date                                                           \n",
       "2016-05-24      自我成长    [编程] javascript exercism [1h]  编程       1.0\n",
       "2016-05-23      自我成长  [编程] javascript exercism [0.5h]  编程       0.5\n",
       "2016-05-23      自我成长   [编程] clojure ring request [2h]  编程       2.0\n",
       "2016-05-22      自我成长       [编程] clojure ring 入门 [30m]  编程       0.5\n",
       "2016-05-22      自我成长  [编程] javascript exercism [0.5h]  编程       0.5"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "programming = df[df['Tag'] == '编程']\n",
    "programming.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/python/Anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:2: FutureWarning: how in .resample() is deprecated\n",
      "the new syntax is .resample(...).sum()\n",
      "  \n",
      "/opt/python/Anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:3: FutureWarning: how in .resample() is deprecated\n",
      "the new syntax is .resample(...).sum()\n",
      "  This is separate from the ipykernel package so we can avoid doing imports until\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7fe587d480f0>"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/python/Anaconda3/lib/python3.6/site-packages/matplotlib/font_manager.py:1316: UserWarning: findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans\n",
      "  (prop.get_family(), self.defaultFamily[fontext]))\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fe587c7af60>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#天去掉，保留月份to_period(freq='m')\n",
    "programming.resample('m', how='sum').to_period(freq='m')\n",
    "programming.resample('m', how='sum').to_period(freq='m').plot(kind='bar', figsize=(8, 8), fontsize=16)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 连续时间的精力分配\n",
    "\n",
    "以时间为横轴，查看精力分配。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>Duration</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Due Date</th>\n",
       "      <th>Tag</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2015-12-02</th>\n",
       "      <th>写作</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-04</th>\n",
       "      <th>阅读</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2015-12-06</th>\n",
       "      <th>写作</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>机器学习</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-07</th>\n",
       "      <th>写作</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2015-12-08</th>\n",
       "      <th>机器学习</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-09</th>\n",
       "      <th>写作</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2015-12-10</th>\n",
       "      <th>探索发现</th>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>5.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"3\" valign=\"top\">2015-12-11</th>\n",
       "      <th>写作</th>\n",
       "      <td>1.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>阅读</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2015-12-12</th>\n",
       "      <th>写作</th>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>机器学习</th>\n",
       "      <td>1.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-13</th>\n",
       "      <th>编程</th>\n",
       "      <td>6.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-14</th>\n",
       "      <th>阅读</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2015-12-15</th>\n",
       "      <th>机器学习</th>\n",
       "      <td>2.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>阅读</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"4\" valign=\"top\">2015-12-16</th>\n",
       "      <th>探索发现</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>机器学习</th>\n",
       "      <td>1.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>阅读</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-17</th>\n",
       "      <th>机器学习</th>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"3\" valign=\"top\">2015-12-18</th>\n",
       "      <th>写作</th>\n",
       "      <td>1.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>机器学习</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2015-12-19</th>\n",
       "      <th>探索发现</th>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>阅读</th>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-20</th>\n",
       "      <th>写作</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-24</th>\n",
       "      <th>编程</th>\n",
       "      <td>3.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-25</th>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-26</th>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-29</th>\n",
       "      <th>编程</th>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-30</th>\n",
       "      <th>编程</th>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-01</th>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-02</th>\n",
       "      <th>编程</th>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-03</th>\n",
       "      <th>编程</th>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-04</th>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-05</th>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-06</th>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-07</th>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-08</th>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-09</th>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-10</th>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-11</th>\n",
       "      <th>编程</th>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-12</th>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2016-05-13</th>\n",
       "      <th>探索发现</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2016-05-14</th>\n",
       "      <th>探索发现</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>5.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-15</th>\n",
       "      <th>编程</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-17</th>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-18</th>\n",
       "      <th>编程</th>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-19</th>\n",
       "      <th>编程</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-20</th>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2016-05-22</th>\n",
       "      <th>探索发现</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <th>编程</th>\n",
       "      <td>2.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-24</th>\n",
       "      <th>编程</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>187 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                 Duration\n",
       "Due Date   Tag           \n",
       "2015-12-02 写作         3.0\n",
       "2015-12-04 阅读         3.0\n",
       "2015-12-06 写作         4.0\n",
       "           机器学习       3.0\n",
       "2015-12-07 写作         1.0\n",
       "2015-12-08 机器学习       1.0\n",
       "           编程         4.0\n",
       "2015-12-09 写作         4.0\n",
       "2015-12-10 探索发现       0.5\n",
       "           编程         5.5\n",
       "2015-12-11 写作         1.5\n",
       "           编程         4.0\n",
       "           阅读         4.0\n",
       "2015-12-12 写作         2.0\n",
       "           机器学习       1.5\n",
       "2015-12-13 编程         6.0\n",
       "2015-12-14 阅读         1.0\n",
       "2015-12-15 机器学习       2.5\n",
       "           阅读         1.0\n",
       "2015-12-16 探索发现       1.0\n",
       "           机器学习       1.5\n",
       "           编程         3.0\n",
       "           阅读         1.0\n",
       "2015-12-17 机器学习       2.0\n",
       "2015-12-18 写作         1.5\n",
       "           机器学习       1.0\n",
       "           编程         3.0\n",
       "2015-12-19 探索发现       7.0\n",
       "           阅读         0.5\n",
       "2015-12-20 写作         1.0\n",
       "...                   ...\n",
       "2016-04-24 编程         3.5\n",
       "2016-04-25 编程         3.0\n",
       "2016-04-26 编程         3.0\n",
       "2016-04-29 编程         2.0\n",
       "2016-04-30 编程         2.0\n",
       "2016-05-01 编程         3.0\n",
       "2016-05-02 编程         2.0\n",
       "2016-05-03 编程         2.0\n",
       "2016-05-04 编程         3.0\n",
       "2016-05-05 编程         4.0\n",
       "2016-05-06 编程         4.0\n",
       "2016-05-07 编程         4.0\n",
       "2016-05-08 编程         4.0\n",
       "2016-05-09 编程         4.0\n",
       "2016-05-10 编程         4.0\n",
       "2016-05-11 编程         2.0\n",
       "2016-05-12 编程         3.0\n",
       "2016-05-13 探索发现       1.0\n",
       "           编程         3.0\n",
       "2016-05-14 探索发现       1.0\n",
       "           编程         5.0\n",
       "2016-05-15 编程         1.0\n",
       "2016-05-17 编程         3.0\n",
       "2016-05-18 编程         2.0\n",
       "2016-05-19 编程         1.0\n",
       "2016-05-20 编程         4.0\n",
       "2016-05-22 探索发现       3.0\n",
       "           编程         1.0\n",
       "2016-05-23 编程         2.5\n",
       "2016-05-24 编程         1.0\n",
       "\n",
       "[187 rows x 1 columns]"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 为什么不直接使用 df.pivot()? 因为有重复的行索引，如 2016-05-23\n",
    "date_tags = df.reset_index().groupby(['Due Date', 'Tag']).sum()\n",
    "date_tags"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>Tag</th>\n",
       "      <th>写作</th>\n",
       "      <th>探索发现</th>\n",
       "      <th>机器学习</th>\n",
       "      <th>电影</th>\n",
       "      <th>编程</th>\n",
       "      <th>阅读</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Due Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2015-12-02</th>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-04</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-06</th>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-07</th>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-08</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-09</th>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-10</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5.5</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-11</th>\n",
       "      <td>1.5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-12</th>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-13</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>6.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-14</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-15</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-16</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-17</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-18</th>\n",
       "      <td>1.5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-19</th>\n",
       "      <td>NaN</td>\n",
       "      <td>7.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-20</th>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-21</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-22</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>8.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-23</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-24</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-25</th>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-26</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-29</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-30</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-01</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-02</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-03</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.5</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-04</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>6.5</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-05</th>\n",
       "      <td>2.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-21</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-22</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>6.0</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-23</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-24</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.5</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-25</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-26</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-29</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-30</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-01</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-02</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-03</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-04</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-05</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-06</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-07</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-08</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-09</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-10</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-11</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-12</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-13</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-14</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-15</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-17</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-18</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-19</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-20</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.5</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-24</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>133 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "Tag          写作  探索发现  机器学习  电影   编程   阅读\n",
       "Due Date                                 \n",
       "2015-12-02  3.0   NaN   NaN NaN  NaN  NaN\n",
       "2015-12-04  NaN   NaN   NaN NaN  NaN  3.0\n",
       "2015-12-06  4.0   NaN   3.0 NaN  NaN  NaN\n",
       "2015-12-07  1.0   NaN   NaN NaN  NaN  NaN\n",
       "2015-12-08  NaN   NaN   1.0 NaN  4.0  NaN\n",
       "2015-12-09  4.0   NaN   NaN NaN  NaN  NaN\n",
       "2015-12-10  NaN   0.5   NaN NaN  5.5  NaN\n",
       "2015-12-11  1.5   NaN   NaN NaN  4.0  4.0\n",
       "2015-12-12  2.0   NaN   1.5 NaN  NaN  NaN\n",
       "2015-12-13  NaN   NaN   NaN NaN  6.0  NaN\n",
       "2015-12-14  NaN   NaN   NaN NaN  NaN  1.0\n",
       "2015-12-15  NaN   NaN   2.5 NaN  NaN  1.0\n",
       "2015-12-16  NaN   1.0   1.5 NaN  3.0  1.0\n",
       "2015-12-17  NaN   NaN   2.0 NaN  NaN  NaN\n",
       "2015-12-18  1.5   NaN   1.0 NaN  3.0  NaN\n",
       "2015-12-19  NaN   7.0   NaN NaN  NaN  0.5\n",
       "2015-12-20  1.0   4.0   NaN NaN  NaN  NaN\n",
       "2015-12-21  NaN   NaN   NaN NaN  NaN  0.5\n",
       "2015-12-22  NaN   2.0   NaN NaN  8.0  NaN\n",
       "2015-12-23  NaN   1.0   NaN NaN  NaN  NaN\n",
       "2015-12-24  NaN   NaN   NaN NaN  NaN  0.5\n",
       "2015-12-25  2.0   NaN   NaN NaN  NaN  1.5\n",
       "2015-12-26  NaN   NaN   NaN NaN  2.0  1.0\n",
       "2015-12-29  NaN   NaN   NaN NaN  NaN  2.0\n",
       "2015-12-30  NaN   NaN   NaN NaN  NaN  1.0\n",
       "2016-01-01  NaN   NaN   NaN NaN  NaN  5.0\n",
       "2016-01-02  NaN   NaN   NaN NaN  2.0  2.0\n",
       "2016-01-03  NaN   NaN   NaN NaN  3.5  NaN\n",
       "2016-01-04  NaN   NaN   NaN NaN  6.5  NaN\n",
       "2016-01-05  2.0   2.0   NaN NaN  NaN  NaN\n",
       "...         ...   ...   ...  ..  ...  ...\n",
       "2016-04-21  NaN   2.0   NaN NaN  5.0  NaN\n",
       "2016-04-22  NaN   NaN   NaN NaN  6.0  2.0\n",
       "2016-04-23  NaN   NaN   NaN NaN  3.0  NaN\n",
       "2016-04-24  NaN   NaN   NaN NaN  3.5  NaN\n",
       "2016-04-25  NaN   NaN   NaN NaN  3.0  NaN\n",
       "2016-04-26  NaN   NaN   NaN NaN  3.0  NaN\n",
       "2016-04-29  NaN   NaN   NaN NaN  2.0  NaN\n",
       "2016-04-30  NaN   NaN   NaN NaN  2.0  NaN\n",
       "2016-05-01  NaN   NaN   NaN NaN  3.0  NaN\n",
       "2016-05-02  NaN   NaN   NaN NaN  2.0  NaN\n",
       "2016-05-03  NaN   NaN   NaN NaN  2.0  NaN\n",
       "2016-05-04  NaN   NaN   NaN NaN  3.0  NaN\n",
       "2016-05-05  NaN   NaN   NaN NaN  4.0  NaN\n",
       "2016-05-06  NaN   NaN   NaN NaN  4.0  NaN\n",
       "2016-05-07  NaN   NaN   NaN NaN  4.0  NaN\n",
       "2016-05-08  NaN   NaN   NaN NaN  4.0  NaN\n",
       "2016-05-09  NaN   NaN   NaN NaN  4.0  NaN\n",
       "2016-05-10  NaN   NaN   NaN NaN  4.0  NaN\n",
       "2016-05-11  NaN   NaN   NaN NaN  2.0  NaN\n",
       "2016-05-12  NaN   NaN   NaN NaN  3.0  NaN\n",
       "2016-05-13  NaN   1.0   NaN NaN  3.0  NaN\n",
       "2016-05-14  NaN   1.0   NaN NaN  5.0  NaN\n",
       "2016-05-15  NaN   NaN   NaN NaN  1.0  NaN\n",
       "2016-05-17  NaN   NaN   NaN NaN  3.0  NaN\n",
       "2016-05-18  NaN   NaN   NaN NaN  2.0  NaN\n",
       "2016-05-19  NaN   NaN   NaN NaN  1.0  NaN\n",
       "2016-05-20  NaN   NaN   NaN NaN  4.0  NaN\n",
       "2016-05-22  NaN   3.0   NaN NaN  1.0  NaN\n",
       "2016-05-23  NaN   NaN   NaN NaN  2.5  NaN\n",
       "2016-05-24  NaN   NaN   NaN NaN  1.0  NaN\n",
       "\n",
       "[133 rows x 6 columns]"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 以 tag 作为列索引\n",
    "dates = date_tags.reset_index().pivot(index='Due Date', columns='Tag', values='Duration')\n",
    "dates"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>Tag</th>\n",
       "      <th>写作</th>\n",
       "      <th>探索发现</th>\n",
       "      <th>机器学习</th>\n",
       "      <th>电影</th>\n",
       "      <th>编程</th>\n",
       "      <th>阅读</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2015-12-02</th>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-03</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-04</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-05</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-06</th>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-07</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-08</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-09</th>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-10</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>5.5</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-11</th>\n",
       "      <td>1.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-12</th>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-13</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-14</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-15</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-16</th>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-17</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-18</th>\n",
       "      <td>1.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-19</th>\n",
       "      <td>0.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-20</th>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-21</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-22</th>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-23</th>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-24</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-25</th>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-26</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-27</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-28</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-29</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-30</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-31</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-25</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-26</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-27</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-28</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-29</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-30</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-01</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-02</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-03</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-04</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-05</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-06</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-07</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-08</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-09</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-10</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-11</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-12</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-13</th>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-14</th>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-15</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-16</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-17</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-18</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-19</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-20</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-21</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.5</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-24</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>175 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "Tag          写作  探索发现  机器学习   电影   编程   阅读\n",
       "2015-12-02  3.0   0.0   0.0  0.0  0.0  0.0\n",
       "2015-12-03  0.0   0.0   0.0  0.0  0.0  0.0\n",
       "2015-12-04  0.0   0.0   0.0  0.0  0.0  3.0\n",
       "2015-12-05  0.0   0.0   0.0  0.0  0.0  0.0\n",
       "2015-12-06  4.0   0.0   3.0  0.0  0.0  0.0\n",
       "2015-12-07  1.0   0.0   0.0  0.0  0.0  0.0\n",
       "2015-12-08  0.0   0.0   1.0  0.0  4.0  0.0\n",
       "2015-12-09  4.0   0.0   0.0  0.0  0.0  0.0\n",
       "2015-12-10  0.0   0.5   0.0  0.0  5.5  0.0\n",
       "2015-12-11  1.5   0.0   0.0  0.0  4.0  4.0\n",
       "2015-12-12  2.0   0.0   1.5  0.0  0.0  0.0\n",
       "2015-12-13  0.0   0.0   0.0  0.0  6.0  0.0\n",
       "2015-12-14  0.0   0.0   0.0  0.0  0.0  1.0\n",
       "2015-12-15  0.0   0.0   2.5  0.0  0.0  1.0\n",
       "2015-12-16  0.0   1.0   1.5  0.0  3.0  1.0\n",
       "2015-12-17  0.0   0.0   2.0  0.0  0.0  0.0\n",
       "2015-12-18  1.5   0.0   1.0  0.0  3.0  0.0\n",
       "2015-12-19  0.0   7.0   0.0  0.0  0.0  0.5\n",
       "2015-12-20  1.0   4.0   0.0  0.0  0.0  0.0\n",
       "2015-12-21  0.0   0.0   0.0  0.0  0.0  0.5\n",
       "2015-12-22  0.0   2.0   0.0  0.0  8.0  0.0\n",
       "2015-12-23  0.0   1.0   0.0  0.0  0.0  0.0\n",
       "2015-12-24  0.0   0.0   0.0  0.0  0.0  0.5\n",
       "2015-12-25  2.0   0.0   0.0  0.0  0.0  1.5\n",
       "2015-12-26  0.0   0.0   0.0  0.0  2.0  1.0\n",
       "2015-12-27  0.0   0.0   0.0  0.0  0.0  0.0\n",
       "2015-12-28  0.0   0.0   0.0  0.0  0.0  0.0\n",
       "2015-12-29  0.0   0.0   0.0  0.0  0.0  2.0\n",
       "2015-12-30  0.0   0.0   0.0  0.0  0.0  1.0\n",
       "2015-12-31  0.0   0.0   0.0  0.0  0.0  0.0\n",
       "...         ...   ...   ...  ...  ...  ...\n",
       "2016-04-25  0.0   0.0   0.0  0.0  3.0  0.0\n",
       "2016-04-26  0.0   0.0   0.0  0.0  3.0  0.0\n",
       "2016-04-27  0.0   0.0   0.0  0.0  0.0  0.0\n",
       "2016-04-28  0.0   0.0   0.0  0.0  0.0  0.0\n",
       "2016-04-29  0.0   0.0   0.0  0.0  2.0  0.0\n",
       "2016-04-30  0.0   0.0   0.0  0.0  2.0  0.0\n",
       "2016-05-01  0.0   0.0   0.0  0.0  3.0  0.0\n",
       "2016-05-02  0.0   0.0   0.0  0.0  2.0  0.0\n",
       "2016-05-03  0.0   0.0   0.0  0.0  2.0  0.0\n",
       "2016-05-04  0.0   0.0   0.0  0.0  3.0  0.0\n",
       "2016-05-05  0.0   0.0   0.0  0.0  4.0  0.0\n",
       "2016-05-06  0.0   0.0   0.0  0.0  4.0  0.0\n",
       "2016-05-07  0.0   0.0   0.0  0.0  4.0  0.0\n",
       "2016-05-08  0.0   0.0   0.0  0.0  4.0  0.0\n",
       "2016-05-09  0.0   0.0   0.0  0.0  4.0  0.0\n",
       "2016-05-10  0.0   0.0   0.0  0.0  4.0  0.0\n",
       "2016-05-11  0.0   0.0   0.0  0.0  2.0  0.0\n",
       "2016-05-12  0.0   0.0   0.0  0.0  3.0  0.0\n",
       "2016-05-13  0.0   1.0   0.0  0.0  3.0  0.0\n",
       "2016-05-14  0.0   1.0   0.0  0.0  5.0  0.0\n",
       "2016-05-15  0.0   0.0   0.0  0.0  1.0  0.0\n",
       "2016-05-16  0.0   0.0   0.0  0.0  0.0  0.0\n",
       "2016-05-17  0.0   0.0   0.0  0.0  3.0  0.0\n",
       "2016-05-18  0.0   0.0   0.0  0.0  2.0  0.0\n",
       "2016-05-19  0.0   0.0   0.0  0.0  1.0  0.0\n",
       "2016-05-20  0.0   0.0   0.0  0.0  4.0  0.0\n",
       "2016-05-21  0.0   0.0   0.0  0.0  0.0  0.0\n",
       "2016-05-22  0.0   3.0   0.0  0.0  1.0  0.0\n",
       "2016-05-23  0.0   0.0   0.0  0.0  2.5  0.0\n",
       "2016-05-24  0.0   0.0   0.0  0.0  1.0  0.0\n",
       "\n",
       "[175 rows x 6 columns]"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 补足连续时间，可以看到哪些天没有在学习\n",
    "full_dates = dates.reindex(pd.date_range(start_date, end_date)).fillna(0)\n",
    "full_dates"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7fe587ce13c8>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/python/Anaconda3/lib/python3.6/site-packages/matplotlib/font_manager.py:1316: UserWarning: findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans\n",
      "  (prop.get_family(), self.defaultFamily[fontext]))\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n/cenvPLw8ytmuB3jWs7ZZGPztk3bOXmS8/QsxwIb7cjvRQ+tGpv2eaiv42q92+0dUQAAAHqlEAUA\nAKBXClEAAAB6pRAFAACgVwpRAAAAeqUQBQAAoFcKUQAAAHqlEAUAAKBXClEAAAB6pRAFAACgVwpR\nAAAAeqUQBQAAoFcKUQAAAHqlEAUAAKBXClEAAAB6pRAFAACgVwpRAAAAeqUQBQAAoFcKUQAAAHq1\nZdYbMI/2nPXDzbOHZrodG+Xqiy86/PyKG2/pbV0AAIDEO6IAAAD0TCEKAABArxSiAAAA9EohCgAA\nQK8UogAAAPRKIQoAAECvFKIAAAD0SiEKAABArxSiAAAA9EohCgAAQK8UogAAAPRKIQoAAECvFKIA\nAAD0SiEKAABArxSiAAAA9GqiQrSUcmEp5e5SyidKKVdOa6MAAADYvNZdiJZSjk9ybZIfSPLtSf5p\nKeXbp7VhAAAAbE6TvCN6QZJPVFX1qaqq/jbJDUleNp3NAgAAYLOapBA9O8lnB/5/oIkBAADASKWq\nqvWtWMqPJXlRVVU/0/z/FUkuqKrqXw0td1mSy5r/Pi3J3UlOT/KloSbbYqPiixibt+3Z7NttLIsT\nm7ftMZbZ930sbrexLE5s3rbHWGbf97G43cayOLFZ9P13q6o6o2U7jlZV1boeSZ6X5NaB//9ykl/u\nuO77u8TGWXbeY/O2PZt9u41lcWLztj3GMvu+j8XtNpbFic3b9hjL7Ps+FrfbWBYnNuu+V3tMcmnu\n+5I8tZTylFLKY5K8PMnNE7QHAADAMWDLelesqurRUsq/THJrkuOTvK6qqo9ObcsAAADYlNZdiCZJ\nVVVvTfLWdaz62o6xcZad99i8bc9m325jWZzYvG2Pscy+72Nxu41lcWLztj3GMvu+j8XtNpbFic26\n75HWfbMiAAAAWI9JPiMKAAAAY5vo0lxYRKWUJ6b+ztsqyeeqqvpCW2zafUy42fRoI+ZP3tHFOHlS\nSjk1SVVV1VcG1j8q1rW9rn1sRB7P07GxmcbSLNuWI1PNibZYH3k37r7osh9nPFebZizN8ivyZL39\nzHosbJwNvzS3lHJykgszMOGpb3D0tKHY7c0qFwzFP96y/ntSf33MWrG2frq296kku4ZidyU5byh2\nW5K/19Jv1dJP1za79tPWXtfl2vq4ufl3mvtnkrHcnORbOsxf13w6Kcm/THJykr9qfv73c+R7jz7Z\n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\nuy77diZztUo+TfL6vUhjuWfBxjLJ+WBW55dR5/NJaqKuYzm+bd+u9TguG+ukqqreOxQ7vaqqX09d\nRSdJqqr6Zuqqe/n54Pr/PnXVPhh73eD6I2Ir+hmjvS2pv89yODZ8h6iTkrw1K+8QVZbHs442u/bT\n1l7X5dr6SNrvmjvJ/plkLMsfRD9q3Zb5Gyef7kv917AzB2L3l1LemuQLA7Enpv4L0GcHYqdXVfWq\nlr6HY219dG2vbXxJez615XfXNqd9DHVdbhHGcl+S/yP1Z6WXrZi/VXKsa07MTd412/9Ikr+To3Xd\nj7Oaq6T+i++j6zxvzNtY7k5ydnNJ1LK2PPlaKeX1OXpev1JKeU2O/GU6qe9k+vrUl8qt1l7XPjq1\n12z/U5N8bMGOjRXLLfBYvpL6XH543VLKcanfWTqxQ47Ndd4121+SHDc0lq77diZztUo+TfJ7w7yN\nZUXu5cgltYN5sghjmeR8MJPzyyrn80lqok5jqarqm1VV3ZCV57ZVbRln4XV4WynlLUn+S44kTNvt\nuc9p/i2llOcOLDur28+/L/Xbzx8tpfyz5eWa2J8OxB5IfVnYW8ratxXv2mbXftra67pcWx/npH5b\n/ctl7Vu79zGWv0l9p7T/b435Gyef/p/mcXop5SupL/f5YuoXx1MHYsen/mvbL5XVb1PfFmvro2t7\n49ymfp5upT/pLffnaSw3pP7L39Y15m9UjnXNiXnKu3G+1mGe5uqc1CfGB8v6zhvzNpYq9S9Jf1rq\nX4xG5cmXU1/qdkYp5Z5m/eW7lp40EDsl9eVVj1kj77r20bW9LzTx+xbs2GhbblHHclWSVyc5Z2D+\ntib5i9Tn4LVybN7z7gup/6BdhsbSdd/Oaq5G5dMkr9/zNpa23Dsnyb9P8osLNpZJzgezOr+MOp9P\nUhN1Hcs5SS7N0V/Ts6Y+7pr7Azn69tptt+f+bOoXlSR5yVD8k5nebcDHae8DqV8AB2MfSfIdQ7Gv\npP580vAdq6qhcY/TZtd+2trrulxbHzenviHA8HZPsn/WO5b7m3l67hrzN24+/VGS36+q6n9nhFLK\nY1J/2H54P3wlK29TPxxb0ccY7Y3Kz7Z8GnWb+65tTvMYGudYm/exLN/1bTl/Rs3fqBzrlBNtZpx3\nf9T87MXr2I+znKu3NssMz02XvudtLEflXRellNNSn8e/tFpsEutpbx25Nw/HRuu2LPpYUn+Nw9Ty\noelT3q1jrlZpcxqv33M3ljS5l+SvF3Qsk5wPZnl+aTufT1ITjTOWNedvheFrdT08joVHku8c/n9b\nbNp9zHrcHrOdP3nnsd45HBE7ayh21ohY1/a69jH1PJ6nY2OTjWXF/I2ZY3Odd5PO1zzN1SYcS2vu\nLeJYPDbusdGfET2slHLZ8P9LKRcNxS4a/HcwPmL9rrFJ2lsaii2NiK1Yd5Vxd22zUz8TLrcitsp2\nz2osXeevcz6l/sLlQa9si43ou1NswvbGyad1t7kBx9CmGUs6zt/gv2ttd1ubXfvpI++afyfZj7Oa\nq0nPG3M1lnTMk9TvOgz6/RGxru117aPrugt5bGyysbTN3+ExrbWNI2LzlHdpi8/7XA38bM1lF3gs\nK+ZwUceyiOeX5Z913J6pjiVj6K0QTVJa/v9dQ7HvGvp3MN62ftfYJO3dMRS7Y0Ssbd2MiHdts2s/\nkyzXFltefnj9WY2l6/x1zqeqqn52MFBV1c+2xUa02Sk2YXvj5NMkbU77GNo0Yxlj/jIivoh5l0y2\nH2eVdxlj2bkfS9c8qarqJUOxl4yIdW2vax9d83h5nIPm/tjYZGNZMX8Dy6+5jfOed6PGkvmfq4yx\n7KKOpS33FnIsI2Lzfn7JGMtOeyydbfhnRGGelFJOTv0F2Ie/qDf1baifNxS7taqqg1PsY93t0a+N\nmD95Rxfj5EmSpw3Fbk9ywVDs4x3b69pH1/Y65908HRuTHkNzNpaSlflwe+o7gk8zJ2aVd7c2z9c1\nX/M0V+MuuwBjac29qkPBMW9jYeP1cbOiF6X+3sjBCb8j9e19B2PDNzFZjj+Y+i5qg7EDqb+cea1Y\nWz9d2rs/9Qdzvy31h3CXYw+mvg31kwbW3Z/6NsmDsZua5z+0jja79tPWXtflRvVxU5LPJHnplPbP\npGPZ28QH122bv675dFbqF7O3pP4wdpLsSvK9qb8c+11NbFvqD3m/J/Xd1JbbvCvJeUP9DMfa+hin\nvbbxteXTqHF3bXPax1DX5eZ9LI9P/SXZN3WYv1GvWV1yYt7y7ubUt7Qfnpeu+3FWeXdT6u9MW+95\nY57G8rUk/yTJ27N6nuxM8qLU3/u8/IXxz2oeH0zy4SZ2Qepc/uMk712lva59dG1vW5LvS/31W1lj\n387TsTFquUUcy0nNdn9saLlnp/5qjcHXt0lyYlZ5ty31d48nyZvX2BfzNldt+TTJ6/e8jWVU7p2b\n5B1Jvr5AY5n0fDCr88uo8/l6a6JxxnJzVVX7Mo6uHyZdzyPJNanvavjyJM9vHm9IfQet/5XkJ5rH\nlc0APtc8X47/RbPsGwbWf2vq24+/bY1YWz9d2/tfqW+jf2MzGdtS/3LwkSTvHIjd0Cz3lwPrvjzJ\np5vHy9fRZtd+2trrulxbHztTn0g+N7Tdk+yfScbyn1Lfsv1Da8zfOPn0xdQHzpUDOXp36jsFD37R\n8i81y31xYN23pb4l9tvWiLX10bW9tvGNyqe2cXdtc9rHUNflFmEsn0udt7+1xvyNyrGuOTFPeXdl\ns8zHs/axP09z9fJmm7+Y9Z035m0sX0vyO0Pn0LY82ZfkmS2x5yfZN7TuM1tiw+117aNTe018KfV3\nVi7SsbFiuQUeywOpC4HhsXwqyd0dcmyu866J70/yiaFY1307k7laJZ8mef2et7GsyL2m7481P1uk\nsUxyPpjV+WXU+XySmqjrWK5M/Uepo/btmrXiegrMzo0PnZyWY0lOSLK/Jd4We8xgvImVjrETWmJd\n2ru7LTY8puXnw+McMZaubXbqZ0R7XZdb0cfAdrfF1rt/JhpLM3/3DMXa5m+cfDq9Zf1zWmKntcQe\n1zHW1kfX9o4a3xpjacvvNdscMaeTHkNrLrdAYzl5rflbYyxdc2Iu8m6NsXTdj73P1Rrb3bXveRvL\nJ1tiw3myP/Ut84djj83AL+YDOTEca8u7Ln10aq+Jf2LE+Ob92DhquQUey3I+tG33pzrk2Fzn3cC8\ntB0vXfdt73O1Rj5N8nvDPI1lRe4NtDmcE/M+lknPB72fXwbiXX/PmtpYmviKc9tajy3ZWA+XUi6o\nqur2gdihJD+Q+i8Pg47Lyg/GPpz6Ou5DQ7FLh9Zvi7X107W9r6Su7I+KlVJe0/xscHy/MhRL2j/k\n27XNrv20tdd1uRV9lFKOS3257FeHtnuS/TPJWA4luWx43aycv3Hy6ddTX15wcrMNSX0JwqeS/PlA\n7Iwkdyb5taF+/kFL38Oxtj66ttc2vqQ9n9rG3bXNaR9DXZdbhLH8epKPJnnsGvOXtOdY15yYp7xL\n6sv1HjcU67ofZzVXSX3SGz72u/Y9b2N5Q5JfLqX8To58CXlbnnw59ccZbiql/LMm9onUl1j96UDs\nA6kvPfvAGnnXtY+u7W1vHr88NL55PzballvUsbwu9aWtWwfm75zU5/jHd8ixec+77UmekPrjiINj\n6bpvZzVXo/JpktfveRtLW+5tTf1Z4sG76C7CWCY5H8zq/JK0n88nqYm6jiWpP0o3HFvVhn5GtJTy\nnUl+J/ULxoEm/PQkZ6ZOhI82se2pL71I6ksxl19UviP1dwd9IfW7Zkny1NRJ+EDqF8FRsbZ+urb3\n95KckvoXzS+m/mXz1CR/k/r69web2Ompd/iXU19umNQv9o82z48fGHfXNrv209Ze1+Xa+tia+sB+\nYupf7pa3e5L9M8lYzmj23x2p//KStM/fOPm0PfXnUG9Mfdlvaca5N/WlyWc3sdOSXNz0sbzudzZt\nfij1iXFUrK2Pru21jW9UPrWNu2ub0z6Gui63CGM5J3XO/vfUn08eNX+jcqxrTsxT3m1P8oxm3Iey\n+rE/b3NVUr++fCTjnzfmbSx/nfqSs7NyJCfa8uRA6s/FvmAo9tHU8zgYe3eSHR3a69pH1/YeTXJV\n6ndHFuXYGLUtizqWc5P8Serjenlbbk5d6L0o08uJWeXdrc1YB8cyzmveLOZqVD5N+vo9b2MZzr3H\nJXlh6stzF2ksk5wPZnV+GXU+n6Qm6jqW7Um+Ncm/rKrqj9NRL3fNLaUMn1gfyJE7ai3H3pf6w65t\n8TMGY1VVfX64zbbYKv10aq/Z9tNS76cvDYznqNgq6667zTH7Wddyq8TW3Ld9jKV5l3bN+Vtlnkfl\n0+kZ+HB1VVVfKKU8cTCWuiAeXvf9Sc7vEFvRxxjtteZn2z4bMe7ObU7zGOq63CKMpVm3Sz6MyrFO\nOTFveVdV1Tcn2I+znKtOrxOLMJYkGc6JtjypquoLzbKnJqmqqhq8uuWoWNf2uvYxRntt8zLvx8ao\nbVnIsTTHdFuOTDUnJsyTdeddW3yMfTuTuVolnyb9vWGuxjKce/N+DK3jOJ/r80vb+XzUstMeS1VV\n38wYtoyz8HqU+jbJ/zBHJ9Dybber1BX78r9piT9+eP1SyopbObfFRvTTtb1Ppb5b19lJqlLK51Lf\nzOeZQ7E/SfL3h9Zd7ne4n65tdu2nrb2uy7X1cVPqv5ZOc/9MMpblO6yuOn9j5NO3pr6B1smpD5iS\n5O+XUk5P/ZexTzSxbUkOJvnt1DcQWW7zmy39DMfa+hinvbb8bM2nEePu2uZUj6Guyy3AWE4opfxY\nE19r/ka9ZnXJiXnLu0Ntr9Vj7MeZ5F2TTw+tt+85G8vnkry6Q57sKKVsTX0FyYNJUko5JUeuPln+\nxf20pr+Dqa8+GdVe1z66tretlHIwye4O+3aejo3W5RZ0LGcm+cNSyq7Ux8fy72LLVz2duMY2znve\nbSul/G1qJ6yxL+Zqrkbk0ySv3/M2llG5d1vqm1XO5TE0xnG+COeX1vP5iGWnPZaxLstNsuGX5l6S\n+hrut+fIbZJ3ZuXtubelvgVwUhcuy8vO6vbzF6W+zfn/TPJHTeyfp75c5N1J/rCJvTT17ZE/kOSW\ngbG03Va8a5td+2lrr+tybX1sS/LK1En5xqx+6+w+xvKPUt+F694kf97E2uZvnHz68dQvjD9dVdXb\nk6SU8sEk/yHJq6qqelYT+/7Un2U4udkXSftt6ttibX10bW+c29S3jXtWt9LvutwijOXnUn8O4leq\nqvovycj5G5VjXXNinvJuW7p/rcM8zdW2JD+Y+jLvOzP+eWPexvJTSX6jqqqlJjYqT96T+rXzx4di\ntyd5blVVOwfWfVOSi4Ziw+117aNTe038X6cuqm/L4hwbK5Zb4LH8SJL/neQnly+RK6Ucn+STSb5W\nVdV3DIxvkpyYSd418XtS/w771IFY1307k7lq2mzLp0lev+dtLG25d2GSP0j9B5A3LdBYJjkfzOr8\nMup8PklN1HUs21IX+rsH9+2aqjHubDTuI/U1x1uHYituz10duWPV8F3RZnL7+dSfSTyjJTZ8t6u7\nm+Xa7ho2PJaubXbqZ0R7XZcbdberu7PyLnST7J9JxrIv9bXqw+sOz984+bQ/yVOG1t+/vPxQmzta\nYs9v6Xs41tZH1/bGuU393NxKv+tyCzKW/ak/rzy87lHzt0qOdc2Jucm7Jv6pdPtah7mZq4H48F1A\nu/Y9b2P5ZFa+jrXlyWqx/R1jXdvr2kfbcXDvgh0bK5bbhGPZPzh/G5wTG5Z3A2Npy7su+3Ymc7VK\nPk3ye8MijWX/go1lkvPBTM4vTbztfD5JTdRpLE18xb5d67HRl+aW1G/VDtqSI2+HD6paYiX1W8In\nDMUODS3bFmvrp2t7h1JfvjIcG75DVGmWG34rurSMpWubXftpa6/rcm19JPV+Gb62e5L9M8lYtjTb\nMrzu8PyNk09vS3JtklNKKd/dxD5RSnkgyZ0Dsa2pL/kY/LD1ltQf1B7uezjW1kfX9trGtxwfHkvb\nuLu2Oe1jqOtyizCWt6W+fOgJa8xf0p5jXXNinvIuqW/U0DZXXfbjrOZqedm216wufc/bWN6R5BWl\nlItz5GYZbXnyQCnl3iTvK6U8uYl9upTykST3DcTubJa7f42869pH1/bOSX3Tij8YGt+8Hxttyy3q\nWO5IfeOrxw/M3zmpv/fv9A45Nu95d06zf8rQWLru21nN1ah8muT1e97G0pZ7JzWxDwwstwhjmeR8\nMKvzS9J+Pp+kJuo6lqR+B3Y4tqqNvjT30iT/LvWlucsvFC9LXZzclPpSzKROglc1z39raNnlyzhv\nbmL/OPXbxn+e5J2rxNr66dre9yT5/tQV/94m1naHqJ2p39a+NclfNrHtqS8/LKnvvLk8lq5tdu2n\nrb2uy42629Xg2/nL2z3J/plkLC9I/VeZ16f+TGnSPn/j5NM5SX429WdPHkg9RwdSHzhn58gHrs9I\n/UH21w6s+4rU19H/aZL/ukqsrY+u7bWNb1Q+tY27a5vTPoa6LrcIY9me+nLPu1N/9mTU/I3Ksa45\nMU95d07qz8YsX5a/2rE/b3P1Y6nn6bcz/nlj3sbyfc0yJ+Xomz8M58nnUt/R+VuHlvtK6juVP7mJ\nfTb1u6yPSX1L/VHtde1jnPZOTH3Z1g1ZnGNj1LYs4lh2pP6ozTdSXya5PH9/1GzTi7P6/C9C3t2c\n+o+BL1vHvp3VXI3Kp0lfv+dpLDuyMvdOSH113O+k/rjVooxlkvPBrM4vo87nk9REXcdyTpKXJ3lj\nVVW/kY42/K65pf4w+/Ctwj+d+jOAg7G2F5UDmew24G39dG3v7alv8TwYa7tD1P7Uv0AMxtpuKz5O\nm137aWuv63Kj7tz1LS3bPcn+mWQsX039mdK15m+cfLq5qqqPZQ2llHNb1v1I6ttdrxVb0ccY7bWN\nb1Q+tY27a5vTPoa6LrcIY7m1GrgbZDJy/kblWKecaDPDvBvnax3maq5Sf93Jes8bczWW4bxbZOPk\n3hwdG63bspnGstnN+1yt0uZEr9/GsmFjmeR8MKvzy6jz+SQ1UdexjP+6M851vB4em+WR5LLh/7fF\npt3HrMftMdv5k3ce653DEbGLhmIXjYh1ba9rH1PP43k6NjbZWFbM35g5Ntd5N+l8zdNcbcKxtObe\nIo7FY+Mex6UnpZTXDv+/lLI0FFsa/HcwPmL9rrFJ2rtlKHbLiNiKdVcZd9c2O/Uz4XIrYqts96zG\nsjQUGzV/K5Yb/HcoXnK00hYb0Xen2ITtjZNP625zA46hTTOWdJy/wX/X2u62Nrv200feNf9Osh/b\nYn3M1aTnjbkaSzrmSZLvGop914hY1/a69tF13YU8NjbZWNrmb3mb1tzGEbF5yru0xed9rgZ+tuay\nCzyWFXO4qGNZxPPL8s86bs9Ux5Jx9FXxJnnO8P+TvHQo9tLBfwfjI9bvGpukvScNxZ40IrZi3VXG\n3bXNTv1MuNyK2CrbPauxdJ2/zvk0Rt629d0pNmF74+TTutvcgGNo04yl6/yNM6/znnerzMvcz9WE\nfc/VWDbTYxGPjWNhLJv9Me9zNc58GcvsxzLh+WAm55fln3XcnqmOpev8VVW18Z8RXXSllFOTVNXA\nZ3faYhvRZtd+JlluUceyXqWUF6X+cPbZOfJFvQdSf//RYOymqvkOrCn1se726NdGzJ+8o4sx8uSO\nJKcNxe5K/d22g7EHU//ysFZ7Xfvo2l7nvJunY2PSY2jOxvL0HPm82/JyN6e+MVaXbZz3vLupeb6u\n+ZqnuRp32QUYS2vuVVW1b9HGwsbb6Lvmnpzkl1NP+BlN+IEk96W+9e+ZOZIEf5QjN/54cvP8gdR3\ncd0xsP6Xknw59QvVaavE2vrp2t6XkzzSrPeV1G/Xb03yN6nvRPXlJnZyki8m+TvNz5f7XU7mHxjo\np2ubXftpa6/rcm19fEvqu2Q9kPoDydPYP5OM5VtSz9/XU3+v46j5GyefTk59h83faNZJkl9JfTOl\nO5L8ehPbnjpvn5Dkr5t17099Mjw99bu0o2JtfXRtb9T42vKpbdxd25z2MTTOcvM+lpI6B3899ffb\nJu3zNyrHuubEPOXd51Lf9OfJqe8YvNq+nae5eiBHbspwYcY/b8zbWL6WOvdel/oXr6Q9T3an/rzc\nXanvQpkk/zz1ncbfneQPm9jlqe9afkvquwqPaq9rH13b25bk0tR3OX0ki3NstC23qGP5O6nvvvw7\nST4zMJYrmjaXsnqOzXvebWv2QZqxL4+l676d1VyNyqdJXr/nbSxtubc99Z10v576TrqLMpZJzgez\nOr+MOp9PUhN1HcvyH4h+v6qqR9LVOG+fjvtodsYvJTlrIPY/krwnye2pJ39b6rsz7U/9BfE7B+J7\nm2VvGlj/XUnemuRP14i19dO1vfenflF9x0DsPam/pmHv0PjekOSOgdhZqX+B3T807q5tdu2nrb2u\ny7X1cXzqr1n5zNB2T7J/JhnLDam/V+8ja8zfOPn0mdQvjjcOrH9P6uJj8IuW/1uz3GcH1n17sy3v\nXCPW1kfX9trGNyqf2sbdtc1pH0Ndl1uEsXwy9WvWO9aYv1E51jUn5invdjbrfyhrH/vzNFdnJflg\nM771nDfmbSxfzEDerZIn96T+OoTh2ONaYo9pibW117WPNdsbyL2DWaxjY8VyCz6W320Zyz0tczVp\nTvSed6uMpeu+nclcramYTFkAACAASURBVJJPk7x+z+NYfjcrx/K7CziWSc4Hszq/jDqfT1ITdR3L\nzrZ9u9aj84LreSS5e1Rs+Gepv7fvnhHL3rPa+uuIrdXe/lVi+1vWHX4xvLtlfF3b7NTPiPa6Lrei\nj4HtXhGbYP9Meyyd5m+VfPpwkguG1v9wkp9MctfQuhcMx1bpe7i94T7W3d4q+TRufvd9DC3qWJbn\n7+6hbT5q/lbJsa45MTd512Esk+TEhs1Vh3yapO9ZjOXDSe5riQ3nycdT/6V7OPbdQ/18uFluODbc\nXtc+OrXXxO9ric37sbFiuQUey8dTfw/38Fj2dcyxuc67Jr4/ySdaXg+67NuZzNUq+TTJ7w3zNpYV\nudf0/XezxuvgHI5lo84HG3Z+Gdg/45zPpzKWgZ+tiK322JKNdV8p5d8mub6qqi80sa+VUl6fI1+y\nmlLKcUl9B99SynFVVR0aWP/1qb9Pctn9pZS3JvnCGrEV/YzR3kdKKe9J8lAp5clN7NOllI80bSzH\nDpZS/jLJ4e/MKaU8Mc3dvUopTxwYd9c2O/Uzor2uy7X1cU7qv2x+eWi7J9k/k4zlkVLKram/aHdZ\n2/yNk08/lfqd1rNLKW9vYk9I8p+SPDAQ2576Hdp/OtDPV0opr0l96dxqsbY+ura3Ynyr5FNbfndq\nM9M/hjottyBj+fkkb0py6mrzt0qOdc2Jucm7ZiwPJzmlw7E/N3PV5NNjU7+mrOe8MW9jeVeSnyyl\nfCxHLjVsy5PHpf6i8jvKkbsafi315ZEfGoq9MckX1si7cfro0t45SU5N8tsLdmy0LbeoY/k3Sd6b\n5MSB+due+mMyf9Mhx+Y9785J/ZqVobF03bezmqtR+TTJ7w3zNpa23Hti6nff/sWCjWWS88FMzi+r\nnM8nqYk6jaXp+8eGxremjf6M6ClJrkz9GaonNuEHU1+DfUaO/izh3ub5c3Pkc4KnpL5c6TGpkySp\nr1X+SvP/M1aJtfXTtb3Pp35re/l66JLkr5p2Tk197XVpljuU+i89Zw6se2vz8xcNjLtrm+P0M9xe\n1+Xa+jiQ+lLYJ6X+jMbydk+yfyYZy4OpT5rbs3o+jJNPW5PcluQ3m20oSQ5UVfX5UspZOfKlvCXJ\nLyTZNbDuqak/73pS0+eoWFsfXdtrG9+ofGobd9c2p30MdV1uEcby+dSfO/zPTd+j5m9UjnXNiXnK\nu6058vnwF2T1Y3/e5urdqS9rfX7GP2/M21huTvJ/N/HDXxDekicHmr4uGIq9P/VnqQZj72v6XrW9\nMfro1F6SE5uxdMm9eTk2WrdlwcdyQ+o/mB2ev6qqvtll/hch75Jknft2VnM1Kp8mff2ex7EM5t43\nUxeN/2jBxjLJ+WBW55dR5/NJaqKuY1net1dWVfXpdDTTu+aWUk5rtuFLXeLT7ofF0HX+uuRTqW+g\ndWGOvlvae5I8byh2a1VVB9vaXCs2oo+x2pt0/8zqGNoMYxl3/rpst7xbn3Ham6TveRnLOHmS5GlD\nsdtz5Bf45djHO7bXtY+u7d1aVdXBUeOe12NjteUWcCylJR9uT30jwGnmxKzy7tbm+bpe82Y9V+ud\n1wUZS2vuVVVVLdpYVmuzq3k5v0yj7w35XWKjC9HSfpvktttz39Ss8rKh+Jdy5K9ty7FJbgPepb37\nk/xtkqcOxR5s2nvywLr7U98lbPiuUdXQuLu22bWftva6Ljeqj5tSvzP50intn0nHsreJD+7btvnr\nmk9npX4xe0vqd2uT+q9f35vkz1JfGpdmrC9O/eL3hYE2P5z67n1nrxJr62Oc9trGN+o29W3j7trm\ntI+hrsvN+1gen+TcZjvXmr9Rr1ldcmLe8u6m1FcprPerQ2aVdzclubdlDrr2PU9j+VqSf5L6JhCr\n5cnO1FcUfCz1O0VJ8qzm8cFm+5P6F8FzU9+p+r2rtNe1j67tbUvyfUmWL8tblGNj1HKLOJaTmu3+\n2NByz0797tTg69skOTGrvNuW5Ieb529eY1/M21y15dMkr9/zNpZRuXdu6qvuvr5AY5n0fDCr88uo\n8/l6a6JxxnJTVVUfzziqMT5QOu4jyTWp77708tSXTj0/9R1T/zrJ/0ryE83jymYAn2ueL8f/oln2\nDQPrvzX1W8dvWyPW1s//396Zh91RVPn/UyHCAMEYggYwxggKyLhAWFQWhVEGdFwQVJBRcUGcUWBG\nxiU6DArjho4j2+j8+KEZUEcEXMCFoEJEFtmykYRskJAEshD2ICSEpOaPc5q30re6b/Xtu1T32+d5\n+rn3/b7Vp863z7equvtWV4f6uxl5cPmn5K8QdZmWu8XZ93hgqW7Hd+AztB6fv9ByWatd3aU5cOMu\nc3zKcLkQaSCz2+SviJ7WIsvCT3Y0mjxE7z6s/Xktt9bZ9xrgaf3Mw3x1hPrz8cvSk493qM9ut6HQ\nclXgshLR7Xlt8pelsVBNxKS7yVpmAe3bfky5Ol5jXktn40ZsXJ4EvpcaQ306mY8M/mnsEGB+at/X\neLC0v9A6gvwp/mXkOaUqtY2WchXm8iByIZDmsgT/wiadamIgulN8Ma2LFYUe24HkKkdPZfrv2Li0\naE/rvlv/VyUuZcaDQY0vWeN5mWuiUC6TkZtSWxzbtteKnVxgBjvPWE2J1PLcDu7DtoaWpbxNINbR\n8vOI8FuwNKfke5pnBpdQn0H1ZPgLLZe1auOiDKzT41OKi+ZvUQrz5a+Innby7P8SDzbWg/mWqfdh\nvjpC/W3Brw2XKJbSDy1XIS6j2+WvDZdQTUShuzZcQo9jTK9wKFJ3bFzu9WBpnSxGns9JY9vinJg7\nmkhjPt2F1BHkT/F7MvjF3ja2KFdhLokefHEvCdBY1Lpz8uJrL6HHtu+5aqOnMucNMXFp0Z7jM62J\n2LmUHQ/6Pr44eOh5Vte4KN4ytrXber1q7npjzIHW2tsdbDPyMvv1qbLJQ81b7I/M496cwk5M7e/D\nfPWE+nsUubLfAvOsdrXeGPPFFIbySHMJ9Rlaj89faLms1a62YcvVs6Dc8SnDZTNwcnpfWvNXRE9f\nRaYXjNYYQKYgLAFudLAXAjOAL6Xq2cdTdxrz1RHqz8cP/Hry8Q712e02FFquCly+CswDtm2TP/Br\nLFQTMekOZLrediks9DgOKlcgg1667YfWHRuX/wW+YIz5HkOrE/p08gjyOMNVxpgTFLsHeQziBgeb\niUw9m9lGd6F1hPqbwNAL512LvW34ylWVyw+Qqa0vcPL3EmSMHxWgsdh1NwFZTdWkuIQe20HlKktP\nZfrv2Lj4tPcC5Fni71eMS5nxYFDjC/jH8zLXRKFcQB6lS2O51utVcychLzfdgaHltfdCVkadjpzw\ngQjgNfp9NkOdyquAScgc8IWKvQIR4YNIJ5iF+eoJ9bcbsprUCOQnbpC7dE8xtEIUyF0Vi3SeSxV7\nCfCsft/K4R3qM7Qen7/Qcr46XoB0+OOQk7sk7jLHpwyXF+nxm47ceQF//oroaQKwBzIF+CF4brW0\nW5GpyS9WbCxwnNaR7DtJfc5m6JUyPsxXR6g/H78sPfl4h/rsdhsKLVcFLi9BVoL7GfJ8clb+sjQW\nqomYdDcB+GvlvZn8th9brgzSv8yl+LgRG5cnkClnOzOkCZ9O7kf6zsNT2Fz17WJ/BCYG+AutI9Tf\ns8A3kF9HqtI2smKpKpdXAtch7TqJ5WrkQu9IuqeJQenuWuXqcinS5w0iV1l6Ktt/x8Ylrb3tgDcj\n03OrxKXMeDCo8SVrPC9zTRTKZQLwcuAUa+1UAq0vq+aa8OW5bQbe9+Xn7dDS4G1XiMrZt2OfBevp\nqFwO1vbY9oOL/krbNn85efbqyVq7iTaWUbdvmXrv0vXpOgr4C12mPqql9EPLVYFLEmNA/rI0FqQJ\nnw1SdzbwtQ4Zx3FguQrtJ6rAhRpZUe110V+ZtuGNpU5c6m6x5yrHZ+n+u+HSEy4djwcMcHzxjedZ\nZbvNpWi/M9DXtzTWWGONNdZYY4011lhjjTU2/GzEoANorLHGGmusscYaa6yxxhprbHhZcyHaWGMp\n02ebu+lvp276a6w/ZozZ0Rgzpo/1NbprrGtmjHlRYLmxXaqvZ+2l322jTlz6bf3WnfrqSb4Gkas6\ncemV1YlLY/T29S2hG7BjBv7OdmWRB2M/COztKTvS+T4Kmcu8IzIfel/g1Yob4HXIy8Tfrd9NRkyv\nSv09AnihHVq2eJKPD/DJ1N+jkPnWL3Cww4H/AN7q2X9CUhaYCLwHedB4f435HcgDxR1zUeyFwIg8\nPv3iov8fpzHsC4zL0dCoAJ3thbzz6DfA7sD/IKsEz9XjNQnYD5nnvi8wKcfX87XsmBT+VmSxhZvU\nxzzgXvX5ZmRRph2c8t3k59NdX9pQjbjshbzrdi2yaME9yLMRlwET28VdN92F5GvQuuum9mLg4sn3\n15FVQ09QbGdkEcA5yKIdX0YWAfklskjIjoqv0bzviLyS6Puq5Z/p8dofWY1yPfAY8H6n3v2Rl8f/\nCFlI6ffA4xrHvfp9LbJy5W102F6IqG0g41LHbT8yLqORhVcWIAsFPoy8o/MbOON0yvc1FdLdrcDp\nneYrhlxpmdLai5BLYe3FysXZp3Lji/7ds/O0UC4hW+EdCjkX8rciK1BdpMk9WEX5FHKR9HukU3oI\neYXHMbodqwJM/t4bWT31aWC57vtBxTYjLwP/MUMXOB/WBrBIhbcE+DPS+a1GVsS8Tb8/oXFcrNtU\npCP4W4fL4SrUTcgL7ycCRyOd7kbgXerveqRzvRjpKE8H/kXjTv4+RDk8qT7fBnwWuEW5PIU0kr21\n7slIw1kAnKSfv1Gfi5BXnPwaaVBPIx15IS6KH61cVjl8Fqf49IvLLM3LYuAPui1A9NTS+QDLU3+/\nROO+Efgi8g6kPyEXuXcAy5CX/W5G9PiIHrdpiDamaS7HI6u/PYMsP74HskrfCj1W64CzGHreehYy\nKL8B0d/rgV2Bq/R4b9LjtUqP1/x2/JB2tIH27Wg1W7ajfrWhB5ABdGENuKxHVmgc48S8FaKVWz26\nm+PR3WXIinV10N2tyGqCMeZqKbIK6B3t+FSIyxuRk4Rkuw6YgujkauRk/lrgVKTd3YWstLtZ6/mL\n+lqKLKS1VOu8GPiKHptPIxcP04ADtMz3kXZ5u/5/psb7fkRz70G0dA6ycuLpwL9puRuAr7drL8Tf\nNjYAVwDb1IDL04iexzsx7wych7YNZzsB+HukD6+K7l6BXKj9AtgqL18x5UrxN+rfj1NQexXhkqW9\nzwO/rxiXoPGSuMaX6zTuOci5f6HztJJcVidcYroQvQl5R80LgM8gF0qzlehCJXGIln1WhfYDpAOc\nomKYothv9EDPRX59uwUR61g94MciFzEPIx3XckSgL0MuaHbXg3sQ0okeCFyiB3cycKUT9/nInZhH\n9Pv5yAXnj9XXe5ALpIVIA5un+J66/5O675nIe46+pPyS79OQzn4u8uqSO3XbFumIX6v13aPHaw2w\np3Jdh9zlmAm8VH28DOmQ5wMfAH7XAZfXq885zjHbU+v7FSLifnKZhQx6LpfTkYH0AYYuhKcwdNfs\nGGebrdg+wAWIXu5SPzPRFysr/xuSvxXb4Hy/HPiEHpd3I438FuRGxEKkc/2LxnQesMDZd4V+Xg8c\nppyOAb6DaPAHwEVt+J2OdC7raNOONC9/0mPczzY0C/gaW7ahqnJZDHw8xSXR1Eq21Ng3kUErrbv/\nh7S3SuhOy2bl6iI9jtHlSuNeDlyf4uLTXhW4bEZOrqc52zr9fFrL/CsyvoxFfo1crvhnkJuOCzL0\nNEs/FwAjVRO3KjZDP+cAhwLfRU7gpiHvck7qmJ3oWD/vQNrLCLdep82k20vsbeMe5KIp3TaqyGVR\nBpdN6s/VmEU0u4mK6E4/F+PXXTpf0eTKydc9Trxe7VWYS4v2nPgfqBiX0PO0aMYXjXE6sFC/Fz1P\nK8NlXcLFbZfttl5fiM5K/X04cif49UhnNt/53wF6IP+RoTsXrtiSTmgmslTwTKTD+iv1tZUesG2B\n9yG/hj2MvCR8ZapDS8Q+A+nMRgJ3O3Wt0zjWIC92PVETfiLwkJb5a+XybvUz19l/gibxHGA7D5fp\n+nkLMiV1JtKZj1Fff5X4UxGtRe7u3IKcqIxwOMxV7i6XeR1wWagCTAaHuQ6XK5E7HX3lopjLZT3w\n75rXL+m2SevcwFBjmKJl1jn7fkD33139f9L53yikcV2hfH0D6TxkqsdM5AbLCOdYzdP9PqfHey3S\nGd6F3OWdp8f7JqeTSPgtaMPvS8jdrcfatSOkDV2n+e1rG9Lvd9eAy2XICdFS5JeGXZEOd4FirsY2\nIydOad1NQbVHBXTn5OsRT66+lOQrtlzp52Ic3eVorwpc5uKcbCk2X3PunjAt1zqWAV9x8PFa338i\nU+SeZWgWyxLksY1TkVkw9yJTK89FThzPAn7o+Poz8ivFNK3naKTPPgW50fgO5BeypL0sY6i9vA7p\nl9PtJfa2kXC5rwZcfqflFzt1jUPG8ZtTGpuL/MK4oiq607KXIedZryO/r44pVy/W43iTew6FX3tV\n5eLT3kbN38qKcQk9T4tmfEnGGHR8cc5tQs/TynBZ6vYtoVuvL0RnA6NT2ELk5OFh4GhPh/hPeuAP\nRAaAq5Ff5NYiL8U9TBPxIHAh0kmtQn4q/ozj62qkY/wDcqfj28iUu+uQn6n/A7kD8QVN9lpkisoJ\nyN2pRcAXHH93Ir9+Lk3FOwsR9oEOvpX+713Azcgdnc2I6Odo+TEMvQz2UeBSpJN+WOs6wfH3Pyq0\nm4CfAD9ULguRu+s/Va5f0Hge7IDLeORn96RTSPNZ1mcu5yPPCjyA/HpwkJa5Ebgw1Vm8CmfAdDqe\nNPYdjWtVCn85MjDui2hvs9Z/gdb/PKTRT0emaZyDTFW6T/l82/GVTDe5Q4/xp5E7yTORqR+n6r7n\nI3e/Vubxc9rR/SHtCOl8V9HfNnQ+8NuacNka+BRyB3UO0o4fRzrrbVJxT6dVS/OQQcM9gYtdd8ch\n7fanvv47xSWaXGnZC5XnceT3E1XgchypgRz51f0tqfjORk7QF3v0dCXwTqQvXceWNxaStQyOQTSU\nzIBZifyi8DzH12uRC81rkOe2zkNuFD+lx/smZGbL1sijGHcz1F6uQU5O9u1C29iH/rWNrZGbtm7b\nryqXMernGeQG0yPIxeUvccZ29fkezaWrsah1p2V3Rc4XppLTV0eWq7nIBdXnNP487VWVi097TyPT\nsHcsyaVXY2UWl6DzNOIaXw5G+uPFGm+h87SSXJa4eQvdevoeUWPMCRrYrQ72TuQuz2ettR938N2B\nY6213zTGvBgR5CHIswKJzbDWrjPGvBz56X8V8gvgbsC/WGsXOP6ej5xQWiSRRyHPJI5DBHc78A31\ndwAy13ozcvfuYeAqa+0Mx99bgLXW2tkOdgBygfZxa+1XHXwiMuX4R8aY7ZC7fm9EGkpiK621G3WF\nuVM1ppHIFNUzrbWPOf5GAu9VLlciCf8AsAvyS+d05GRmkzFmX+SEZvsiXBQ/DHiTtfasFD4RycXP\n+8zlaGSQHK1c1imXyxx/h2oONlhr1zj4p4G/WGsvSnHZF/imtfYIPGaMMci0oPUOfLW19lFjzBuQ\nRr9a+U0APmetvdbny/E5AekM9kZuFHzWWrvKGPM+4GNIh+3lp/ufADxqrb3GwXLbEbLYw7m0tqHp\n1tonO2xDRyLTVl+E6MptQ8cizxk9rwdcfoy/P+gVl9HAK5N+K9GYtXZ5isuhwPOttb9xsE8jdw3/\nYq2908Fj1t39SLv7hbX2IWf/E5BfNJYmbStC3Y0GPoqcSCcv1fb1E51wGajuypgxZltkmtbcsr46\nrL+lzfSobbweyVG32sZY4DBr7c/qyKXX1uguP1fqNyhfDZf+jZVtuLQ9T4tsrPyI7vMMcg4+mwLn\naSXHyv2ttbu1O9Zp6+mFaGONxWR6EfwxZDr1rkjjXYWcEO6EXAxb5I7RVcD3rbUbO6zjaOTEOPH3\nS+QCu5C/xvpreuPoFCRvFyA3dY5FOuGzrbVPduCz0V1jQWaMOZLWHN6PzFiJAVuB/KLgYldZa6d6\nuJxprT27xLFo2b+sz3Z16PEfD/zBWrvMwT9qrf1BgL9k/+ustfc52PHAWQlWxGdIHWl/erLu3vD9\nG2SG1gKk39mcwg1yshuDxkrpTvl3rJNB6E6xjrUXi+707zzt/be1dnNOHc1YORzNdvAzauiGfxnn\nhchzAIscbD5yNf2dgLKdYI+ksIWpur3LSuMsZ94NrBc+yV5y/f0pbCFDy7C3YA4+HZkum1k2B/uG\nYoXqzsB2xr9U/D3IcwUJNgeZ/jsNmS48G5nW80lkqstUB1+JPPR+MNKhjkeeZ5iLTG1IsIO13Cpn\n36nIXZ+pHuzaNnX4/F0D/APOtCQnDxeFYEXK9hJDpm5/Arm7eVAKmwYcnCp7FTLl6OCssh1imXUX\n2PdyZHrLbcj0yQuBI5DplNORqUQfRqbEfAs4rUNNVEJ3sWgsC9Mc3qh6KpP/gepO8XORPvB45C75\nIchUqgc1bzFixyt+nidXy9OY4mcGYi37Z2Ch/nLrQBby+BNyjnAvcKrzv8XIyetEBzsSGYsm6t9f\n1/2TZyFPdXw+6PrUfZdl+HtpTh1fS9eR8vdS/fu7yEXATOSXlyuADymPxUj/leDXIv1HDHoqrbsu\n6KSvusvTXhudDFx3qbaRp70PI1Nh7yPOsfL1wH8j55LX0MXztFgwAs/TymBOXWf42mXW1uupudci\n85YvsdauVmwaMl98e2vtmxTbGRG5AQ5tUzYLW48splO03BHA25EH3j+poSfv4zwXaZBFMJClodNY\nGZ+h2LeQ51nehTxLsRGZw70QuUM1Lwc7AXl282Ck4X204P7dxkYhr3GZjNww+DGymthaZHGlZxU7\nCHlfmVUOIB3LD/X4fAC5wwryjOtvkecUjgMwxiy01u5pjFlkrd1DsZ8gD4H/nfoHmWO/KzLl48M5\nmK8On7+9kcF0DNKJg6wka5C28GqGbIwH85UdFHYe8vD8W5BB6gbk5sJ2yGqIDwI3WGtPN8ZcjDwr\ndDayLLm37ACxv7HW7mOMmYHkdhfkOaQVyIIgs5GbV5cjK/6NUDzRWKgmYtIdxK+xrLZxHvKL9ReJ\nU09BmLaNRcCT1tpJCTnF9gQWWWtfESH2hIa6PfJ823OhA9taa0eSMmPMcmvthNT+o5BnAEEWvEls\nXTufrr8CdbT4M8bMQZ5BW4KsefC/yLj0NHLD6WJksZxzkfZ3MDIOr1PsZN3/duRXoP9FHj3ZGTkJ\nP1yxnZDzEHffXZALLBcLrcPn72Rr7au1H3spsIu19hnlCLLS/Wqtdy7SL8y01r5aj0VMGmvBnLym\nddeSV6d8lLrTsj7t+fIak+6y2kaL9pBVWx9HzhEOU9rRjJWOz7cij/El43noeVpMGPjH86DztDKY\ntfZ0PZYz3HGsrRW5ai26ocsH+7D0/xBRt2Dpsj3ANiEXy0+Rv5x5KJbgPqxTn6FY7pLrbbCbkV8X\nZzjHpsj+PcMYWsY9WVFsloMlOU2v0LwQGbhc7FbkYndRCvsOcFtq3+PSmH4uaoP56vD524QMOhvZ\n8v1rGxl6D9tSLWNTWFbZQWEb9PMZZHrXRcigsw1yVzTBfo5oLMljXtlBYY852A9cbSEXoasZeqRh\nIc7KdAU1EZPuqqCxrLbxDPBMxHoKxZK2kR4D70JOoOZEii1HTtzS79N9Apn++YSzWWd7winzJPBs\nyuc4tlws4wmPT5+/0Dp8/jYhY+izWmYrZIGVx9HV25ETv98ytA7CTAd7ODVObYX0J1c4+2+FzNC6\nErnpmucvtA6fvweTcsBUh/dMhvqzqU5eD8QZQ0tqoueY4qtx3rxQUCcD0V1O2/BpL1Qng9JdVtto\n0R6e8zTiGitHIL+U3pbKVeh5WkxY1ngeep5WdhzbJtFJ6NbrC9FkGedxDvZHFeufHGwcMoV2cUDZ\nbmPzkRXi/uBgvuXMgzAHT6/61bHPAphvyfWV6JLrbbATVajLUnGH7t9trGWpeJzXHjhY0qm4S1WP\nYGgK0ggHfxmy+thGRG/JVO7lDL0UeJH+/2ZgtzadoQ/z1eHztxj5Bf62FDbBo6fFOEtzZ5UdILZA\nP11srXJ2l3A/E7nhk1510Vd2UNh0ZHqUi81ClpS/Cef9WJr/+1IaC9VENLqriMay2sYCDxaTnkKx\nM1Vn65FHEH6n21LkZHZJpNhDyFi0XyoHy4ELPFj6RP8ryEWQDzvHs68PS79iJKQOn79fA2/y6Okh\nYLPzd9aJ/nLkRvC8lM9LU/vP15g2t/EXWofP3wrkpHBeist1wJ0pbBJyw/fpCPQUis1HHkH6UIbG\n2ulkILrLaRst2iugk4HoLqdttGgPGbM+DtyewmIZK9cql0+x5XgedJ4WE+bg6fE89Dyt7Di2BRay\ntUyb6bIdh0ytvMHIiqpJ8I8COxpjHlFsDXKBaALKdht7CvkZ210F9svIxcypHWAJ/iIP1qnPUOxX\nyLQJF/sRcifsY3mYtfYSY8zbgTek4g7avwfY/yCD47estWcodpUx5jXInawEOx74L2BPncIDks9b\nET2tMcY86uDXI6uGPYH8suWuEjpW9xmFLP99m7PvWGSKx/ZOPT6spY4Mfzsjy90f73A+V/f/Jlva\nuch04zSWLjso7E5jzFEp7FqkvZ2SANbas40xb0XeP0Ve2UFh1tr9jDEnIc8nP8cP6aMOtdrbqn0O\nWeJ9TRudxK47iF9jWW3jToSva9HoKRTTtrES0d3fMLQC8P3W2tX6+Eq0GK12KfIcYhp7KTKtL+F9\nBoAxpgVDpgFusa+19vN5/kLryPD3Xv10y4GMJVMcf5uMMTchF26vdLA9kdeVfM7j8wsOdi/yGobv\ntfEXWkeLP+AlxpivIAuyuPZOZDrrc2atnWFkVdOJyDPwA9dTSd211ckAdZeUTbcNn/ZCdTIo3YGn\nbeDX3vHIirS7hMD8cAAAGvBJREFUFR3H+jFWWmsfMsZMVJ9f7uA8LSYswdPjedB5WhksNY6FW5Gr\n1mZrtpg3pNPZKRTX/7VbiKdl31As1F+zxb35NOL8L5mm27EmQnXS6G74bcCX64D1gnO368gqhzxX\ntW0K31a3F3v2eXFePcivUm39FaijxV9oLLHppKzGyugkJt0V0ckAdedtG+3i8Y1FeeMTfR4r25Vt\ntu5v/a8Qfh2CFSkbOxZbPHWP29dxZeE4z8S2wcqsXtZVf12IJxostnjK5K8LPqPRXYQ5qHXcOVxC\ndRI1pviXA7HQekL9hdYRVK6GXKLRSRc0VubYDiRXXchrVblEPVZ2wWc02KDrbreNoP/24kCsSNnY\nsdjiqXvc+3uwLPzBQMy3byjWbX9l948Jiy2eMvkr6zMm3ZWtu9FTeQxkGlodMJApbiFYqM9Qf6F1\nhJYrW09sXGLSSVmNlTm2g8pVkbJ14hL7WFnWZ0zYoOvOtUFciM4MxIqUjR2LLZ66x53VqbTg1tqj\nQrAMn0FYt/11Yf+YsNjiKZO/Uj4j012pugeIxRZPWS771QSD8JPjUJ9lLlpC/Q0HLjHppKzGyhzb\nQeWqSNk6cYl9rCzlMzJs0HXnWk/fI9pYY1UxY8xF1tqT22HdrqOx6lin+TPGbAWchCweMNVae7OD\nHY+8/Plmp/wZ1tqvlK2jjL/G+m/GmO2QhR8scAGijfcii8v8Hvh2RbBjkNWMz7bWPvf+RGPMCGvt\n5hTn7ZGVKttxbvGZ4S+0Dp+/oHIV53IPsjDghjb7P/fORqfuqLGcsqHHNrTuUH9BdRSMpzZcfGaM\neY219i79/jzg88h7L29BnnHdqNiByGrdX7HWPtXOb0AdHftrrAvWyXze0A154enXgR8CJ6SwhQnm\n4NPblY0dqyqXKset//uuR3/pB9B31O0S5/tuyKs5HnCwHZGH1e9v5zONZdTRsb88rOz+MWGxxFMk\nf8hS9TcC/w4c7GCfQJa6T7CLkdUQf4O0r/90sBUOluy7qo2/0DqC/Dn4VQFcosGqGncOl8uRVwR9\nF3nNxoXI6o53IH1eVbA3Iq9MmA58FlmJ9cOINv+IvCc6wR5AVim9qI3PI3Tf6W38hdbh8+crVzcu\nC5DXA7kaewq5MH0GeZflOrZ8L2aM2CYHeyKFrwOecNrVIk+f777Hs109If5C62jxV6RsHbgAzwPO\nQDT7NWA7B3vMwb6NvD1hEdIGL3WwjzhYnr/QOt6EnPdeqhyK+owJuxr4/8B2A+BydYL5zvGytp7+\nImqM+RnyPptbgY8idzNGIJ3ye5H3RG4ETkBOog4G/qFN2dixqnKpatyfQgbQacDhDNkY4E/Aqx1s\nLXLiP14/QZasfxZ5Ie99ihnddkGW7wZ5WbNJ+fRhvjrK+MviErp/TFgVuITmD+A84Fjgi8AHgRuQ\nmyXbAYci01RuAN5irX2NMWYGcuf1u8irrV6E9I0HKHYEcBtwCPK6mCx/oXUE+bPWnm6MuRj5ZeTs\nNlyiwaoadw6XWchJ3H7IzYNdkEcP9gVmI3qJHrPWWmPM5Uh/fAWwJ/IOw72BHZT//YodCfwSaVdH\n5NTzU6Q9nqh4lr/QOnz+WsrVkMssZBx9LUMaOx8YDexvrd0bwBjzOHKD57PW2jURYkuRd2WOTuGb\nkXeOwtAU0VEMWfK/7ZGLo/XW2h1y6gn1F1rHUmAn5ALR9ekrWycuG6y12+j3byM3dg9CbraMRcbd\nscj556/1+2uQsfF25F23s5H+8QBkXNtPsd/n+Auqw1q7UcfOkTqO5sUYOzYFual5rbX2Q33mMgV5\nbc9Ya+2HCLUiV61FN2BW6u9/RYQ9Fl2lSrGbgTk4K1fllI0dqyqXqsZtkQvIDciLr5ciL75O7gYu\ndbaNyIuRn3E4Lqb1JcGb1Mezzr5W97dtMF8dZfxlcQndPyasClxC87cEuQHyjJYZifz68DiwDXIC\nmmDrEszx6XsZ9OoEa+MvtI5Qfz9H2v7MAC4xYVWNO4vLbIfLD9wxVP9XCSzBFTOIDo1iBrgrAwut\nJ9RfaB2Z5erKxdWYft8P6UNOQy5Ulyh2fayYE7eLP478SjbO4ebDlgbWE+qvSB0XBJatE5cNKQ0+\nD+n/Eo0m2BLg3cg53Xwt78OSfnJ2G39BdSQ+GWobRX1Ggzlc7uo3F63PJHWHbr2+EJ0PjEhhK5Ff\ns5Y52InIhcSygLKxY1XlUtW4VyNTN9JxLwZWprBPIXeCV3iwU1P7TsjAVrTBfHV07C+HS2g80WAV\n4RKUP8UXePj5LjBnI7p1sR8hU4s2pvydlMJ8/kLrCPV3JjI9b3EAl5iwqsadxWU1cE+Ky8XIr/U3\nVQVT/O4EI/+i7GLkF5jZbeqZhTxCcVMbf6F1+Py1lKshl58Ct7iY4sn+pyGPG6xUfETMmA+n2IVs\n23pC/RWsI6hsjbg8i1z8HUv+BeYU3R7Rz3H6eZnGn2BLkOm5d7XxF1SH4svUX7sYo8YcfGm/uTj1\nb9HvtNuCC3ayAd9Epoylscm0njxcQeszWC1lY8eqyqWqcSMXDv/o4fIp4OsZujzVh6f2fa0PY8uL\nyRbMV0dZfz4uofvHhFWBS2j+FP8RqWeT8VxgKn5SGsvwd1Q7f6F1hPpT/M/As53UPSisqnF3ohGQ\nx2iqgqEXQh7Md9G6expL+2TowiqNhV4Y7+4pN8oTd0ssdeKSlT8XR6brvi31v6ixNE6BC9mQekL9\nFakjtGxNuPyeoQvAKWRcYGr5nYHrfBp1fE4J8VekjjI+Y8KUi4v1u+62+Utvzaq5jQ0rM8bsBbwL\nef+oRRrRHGTAd7GrrbXzu1hHx/4a66/1In+N7hoLsQI6iR3L1J0xxljnxKNs20j7K1BHi7+ibaiK\nXPR7LTSWweW5Y2GM2QXY11r7W+e47II8t7ukaK7y/BWoY4tchZatE5c8a8bK4WcDuxA1xnzEWjul\nHVakbOxYbPHUJW7tVM5GprblDVKvAF6GrIh6v+7+98BhyApgP1ZsPDJV+T5kWmaRAdJXRxl/w+Xk\nIZYYi+QvlEsVdBd7XuoWtw97IfKqgsvI10ns2HjktSDXIYsxVaVtZJWrE5fT9Pv5bWKMHcviEnps\nB5krn57K9N8Nl95xiW2MqMK4WPyCvsjPp93cgOUhWJGysWOxxVOHuJF3QM1CluT+gG6TtUGs1O8J\nvlbLTnb2X4SsYLk45XM28JCz7zXA0/qZh/nqKOMvi0vo/jFhVeASmr8iXGLXXRXyUqe4s7isB76Y\n6ut8OokaU/yLyJoDVWobLeVqyGWRJ1fRaCcUy+ESemwHkqscPZXpvxsuveMS0xhRhXFxsu/YttuC\nC3ayIQ/+prenddvswX1YGo8dqyqXqsa9AbkrsyGlPd8gtQB4OVt2aAuQZagXpvbd3YOFDJq+Ojr2\nN0xOHqKJMTR/BblErbuK5KU2cedwWQAs9WBpnUSNKb7Eg8XeNlrK1ZDLPcC9NdGYj0vosR1IrnL0\nVOa8oeHSOy7RjBGhmIP3fVxUfOs01m4bSW9tHPI+q0cd7E7kJ/UpwDtS+DoPli4bO1ZVLlWN+zrk\nvadXsKWNYOi9Von9M/AHYCdjzEWKPYlM+ZjtYLs6fhPbDOyjn3mYr44y/rK4hO4fE1YFLqH5K8Il\ndt0V4RITVtW4s7h8DbjYGHMNQ++w9ekkdmwCMtXtpBS/2NuGr1zduGwHUBON+biEHttB5SpLT2X6\n74ZL77jENEZUYVwEWZwqjeVaT58RNcZ8H5hirb0pjQGftNaekMInWGuPyCsbO1ZVLlWN2xhzFHAh\nMij9WsOegLyoGGT6xgoHf7mWX4E01PuRC9z9kXnuBumQTkGePUj2naQ+ZyPvT8rCfHWU9efjErp/\nTFgVuITmrwiX2HVXhbzUKe68/J2K3LhNNOHTSRWwHZFn90K0F0vbyIqlTlzuQJ7lOpA4dFIG83Ep\n0ucNIldZeirbfzdcesMlpjGiCuNicmxPsdZOJdCaVXMbq7wZY0bQOrBmDbh3WGs3OfuebK29KOXv\nZGRJ/E4H65Y6yvrL4BLTSUGduITmrwiX2HVXhbzUKe62+Uty6NNJFbCMfjn2tuGNpU5cSNmgddIt\nLMEp0OcNIlc5eirVfzdcesYlpjGiCuNiyzjW1orM4+3GBpwcghUpGzsWWzx1j7sglxmBWJl4uuov\ntmM7DLgE5a8LPqPRXYQ5qHXcOVxCdRI1VvBYxNQ2hgOXaHTSBY2VObYDyVUX8tpw6S+XymGDrrvd\nVniHslsXOpXKYbHFU/e4C3KZGYiViaer/mI7tsOAS1D+uuAzGt1FmINax53DJVQnUWMFj0VMbWM4\ncIlGJ13QWJljO5BcdSGvDZf+cqkcNui6220j6L+ZQKxI2dix2OKpe9xFuLwjECtTd7f9ld0/Jiy2\neMrkr6zPmHRXtu5GT+UxCNdJ7BhUs20MBy4x6aSsxsoc20HlqkjZhkt5f71o57Fjg6473zq5ei2z\nAeNDsCJlY8dii6fucedweTvwfP2+LXAWcCPwHWC0g/0KOAcY3UHdvjrK+BsOeYkmnjL5K+gzat1F\nmJdax40svvG6QJ3EjrXoriJtI6hcxblcmviNQCdlNebjEnpso8lVwbw2XPrLJaoxolNs0HW32/r6\ni6gx5hDgfcaYv83DipSNHYstnhrG/RljzNH697bGmLOA7xljLjXGjE/hPwHOMMaMBs5DOrbxwBPI\narwJ9itgEzDF3dcY8x1jzOh2mKeOMv4yuYTGExFWCS6B+SvEJXLdVSIvNYrbywX4DTz3SrU8ncSO\nnQOMAX5YtbbhKVc3LkcBF9REYz4uwcd2QLnK1FNoXhsu/eUyoPGgquPi94wx5+ixDbZev77ldmvt\ngfr948CngJ2AZYiQHlbsF8BngK9aa7/RpmzsWFW5VDXuXZHltn8F7AY8BVwJ/By42Vr7biPvinoK\nOBrpzF4LTLTWTjLGzLfWvtIYMwvYrNg8LXMncLvu+y7kDuyrgYdyMF8dZfxlcQndPyasClxC81eE\nS+y6q0Je6hR3FpdfADdaa48xxszI0UnUGIBqb6O1dp8KtY2WcjXkMh/YoFyqrjEfl9BjO5Bc5eip\nTP/dcOkdl5jGiCqMi1cCbwZea609hlDr5GfU0A3nAWBkOeEXIu+b2R6Yk2D6/9nAnHZlY8eqyqWq\ncQPzHWyGo7f5wCz9PkM/rwA+AsxCOqL9FZus/hJsPrCHYsm+8/VzVhvMV0fH/nK4hMYTDVYRLkH5\nK8glat1VJC+1iTuHyxXAcv2ep5OoMY3/XmQZ/3Z5ialttJSrIZdrgKU10ZiPS+ixHUiucvRU5ryh\n4dI7LtGMEaHYIMdFp/5Z7t/ttmQaUK9shDFmDDAC+fV1rZH39GyNvOPGWGvXOuWtMWZsXtnYsapy\nqWrcxpi5wPuAZ4HZxpj9rbV3AvcBeymn2caY/YGTkI5nL2AD8GfkvUeHAhuBzYptAK4GjgP+Wfed\na4yZrOXm5mC+Ojr2l8MlNJ5osIpwCcpfQS5R664iealN3Dlcvg78zhhzL3KHOUsnUWPGmBXADsAl\nAXmJqW20lKshl5XAXTXRmI9L6LEdSK5y9FTmvKHh0jsu0YwRodggx0Vr7Z3GmD0UC7ZeT829DxGO\nQS4eDgJu1e+7Ag8AB1lrVxtjlgE7I51LZtnYsapyqWrcwNPAfwHvRe7MTAKSQeph4FXIIJXgK5C7\na08hz2Pdb61dY4zZAZnaOxJ4HDgD6fySfe9HHmzfqL6zMF8dZf35uITuHxNWBS6h+SvCJXbdVSEv\ndYo7L3+nAUsY0oRPJ9FjwHrk+asQ7cXSNryx1ImLtXYNQCw6KYt5uBTp8waRqyw9le2/Gy694RLT\nGFGFcfG5ccxaO5tA6+mFaGalxmwHjLPWLs3DipSNHYstnhrGvRuwFQEDLh4zxoyy1j6ZwnYGxtHh\nAOmpo5S/mE4AunzyEGWMIfkrwiXDZzS6q0Je6hR3aP5ydBI9htyErlTbyIqlTlzSseTEWDlM8eA+\nL/A4dDtXXj1llG24DJhLTGNEFcZF37HNNVtgHm83N2BUCFakbOxYbPHUPe6CXJYHYmXi6aq/2I7t\nMOASlL8u+IxGdxHmoNZx53AJ1UnUWMFjEVPbGA5cotFJFzRW5tgOJFddyGvDpb9cKocNuu6sbSSD\ns7uBCQFYkbKxY7HFU/e4t8CMMafr138zxvy7fn+Tfu7k/B/krtgoWi23now6OvbXBiu7f0xYFPF0\nKX8hPquiuyJlY8Jiiye0f0rnz6eT2DHI1h1E2jY6aENV5PImTywxaaeIxnxcIODYxpSromUbLv3j\nEuqzQtig6/ZaTy9EPR0EFOtUYur4ynaQMcVYp7iLcDkH+COwDfJgOsDbgFuQTijB3qCf23ZQt6+O\nMv6yuMR0vOvEJTR/RbjErrsiXGLCqhp3FpdzkEXXdnAwn05ix0C052svad4xtQ1fubpxeRvy/sU6\naMzHJfTYDipXic+0nsr03w2X3nGJaYyowrgI+Rf0Xuv1L6JfA76FDK6JFelUYur4ynaQMcVYp7iL\ncFmFLNF9gLX2LABjzJHA6cAvHWw9ots3dFC3r44y/rK4xHS868QlNH9FuMSuuyJcYsKqGncWl1XA\nmCR/kKmTqDHF1yMrUlapbbSUqyGXI4HdaqIxH5fQYzuQXDk+03oq0383XHrHJaYxogrjYmIjKGJF\n5vEW3TTI/XwYsMKDr25XNnasqlyqGndBLnsi7x5d4cHGeXz6sHbx+Oro2N8wyUs0MYbmryCXqHVX\nkbzUJu4cLnsCD3iwtE6ixhyOR1SsbbSUqyGXPYG9a6IxH5fQYzuQXOXoqcx5Q8Old1yiGSNCMQfv\n+7jo/K8Fy9uCC3ayJQnPEGlIpxJNxxeKVZVLVeMuwsX53zgfXlS3WXWn6yjrr+55iS3GkPwV4RK7\n7qqQlzrFXUYjVdmKaC+WtpEVS5241H2LPVdF8tVwGTyXUJ8xYQ7e93ExNH/pbSCvb2mssUGYMWY0\n8AXgaKQBgbxj6RFgrG4ADwJXAd+w1j7WhTo69tdYf60X+Wt011iIFdBJ7Fiw7mJqG2XbUEW4TNXv\nb20TY+xYFpegYxtTroqWbbj0j0tj/bFeL1ZURFR17yBjirFOcRfhsg1wB/BOa+0iAGPMNOBp4Blr\n7R6KvQK4CHhAnxsoUrevjjL+hkNeYooxNH9FuMSuuyrkpU5xZ3HZBrgEOMxauxoydRI7tjPwCWCm\nMWZDm7zE1DZ85erG5U/IM12H1kBjPi6hx3ZQucrSU5n+u+HSOy4xjRFVGBc7uqAv9kBpcbsceBQZ\nWMdaa8cCKxVb5WCHA38HvD2gbOxYVblUNe4iXFYjDfS/HI3uaq19G7Czg12o5Tqp21dHGX/DIS8x\nxRiavyJcYtddFfJSp7izuOwAHGL1pDpHJ1FjGv9ByMqJVWobLeVqyMUCm2uiMR+X0GM7kFzl6KlM\n/91w6R2XmMaIKoyLhyt2BQWs16vmTrTWnpPCdrXW7mmMWZgA1trVxhgrX1s6yC3Kxo5VlUtV4y7I\nZQkyeL3MwVYZY34LrHGw3YHrgfs6iMdXR8f+hkleoomRwPwV5BK17iqSl9rEncNlJrCPMWactTbR\nhU8nUWPGmHHAJGB2xdpGS7kacjHytRYa83EJPbYDyVWOnsqcNzRcesclmjEiFBvkuKj1nWOM+SgF\nrNcXosuMMZ8DLsnr9IZJBxlNjHWKuyCXU5DpHLsYYx5RbC1yB2dHB9saOAr4hw7i8dXRsb9hkpdo\nYiQwfwW5RK27iuSlNnHncLkF2AO4wRjzIv2XTyexY2uAJ4EbK9Y2fOXqxuW3SJupg8Z8XEKP7aBy\nlaWnMucNDZfecYlmjAjFBjkuat0fBlZQwHp9IXocMJn2nd5w6CBjirFOcRfhsga4GjjGWpuUbTFj\nzBhEt1d1cBxa6uiCv7rnJbYYQ/JXhEvsuqtCXuoUd17+JuVppCrmaK9KbcMbS5241N0K9nl9z1XK\nZ+65ScMlCi4xjRFVGBeTY/s+ipgtsMRuszVb1TdgL+DNwPYpbLKLKX5Ut+oo46/ZBq+RsvlrdNds\n3dRJ7FgR3cXUNsq2oYpwOalGGmvhEnpsY8pVWe01XHrHpdl6v/W+gmKiqnUHGVOMdYo7lAtwGrAQ\nmQJ3H/AuB3sswRyfi4vW7aujjL/hkJeYYiySv1AuPp9EprvY81K3uDOw05ApTb/M00nsmMNnXru8\nEFHbyCpXJy6Kr6cGGvNxCT22g8yVT085+Wq4DJBLhGNE9OOi4oUu6IMLdrI5Cc/t9IZDBxlTjHWK\nuyCXOciqaDOAicCdyMpfo4CZDvazEvH46ujY3zDJSzQxEpi/glyi1l1F8lKbuHO4zAFm6feJZOsk\nduyfCuQlprbhK1c3LnOQBVloE2PsWBaX0GM7qFxl6anMeUPDpXdcohkjQrFBjovOtd+MmC5E5wCj\nAjq94dBBxhRjneIuwmW1/j1TP0chD6j/J0MngKOAdcAFwKwO6vbVUcbfcMhLTDGG5q8Il9h1V4W8\n1CnuLC53o/lro5PYsanI80N3Vaxt+MrVjcvDSSwR6KSsxnxcQo/toHKVpacy/XfDpXdcYhojqjAu\n/pN7bGO5EL079XfRTiWmjq9sBxlTjHWKuwiXh4EfpvBpwK+ATa5ugUsTrGDdvjrK+BsOeYkpxtD8\nFeESu+6qkJc6xZ3FZTmwMDVm+nQSOzYSuUu+KSAvMbUNX7m6cVnlxhKhdopozMcl9NgOKldZeirT\nfzdcesclpjGiCuPiVBcL3Xp9IXo9sE9ApzccOsiYYqxT3EW4vBS4PFV2PPKi5IPTuk1hoXX76ijj\nbzjkJaYYQ/NXhEvsuqtCXuoUdxaXKz1cfDqJGnO0d2LF2kZLuRpyGQ+8oyYa83EJPbYDyVWOnsr0\n3w2X3nGJaYwoMpYMalwciXODIHQLLtjJlgjIhxHWqUTT8YViVeVS1biLcHH+d7APL6rbrLrTdZT1\nV/e8xBZjSP6KcIldd1XIS53iLqORqmxFtBdL28iKpU5c6r7Fnqsi+Wq4DJ5LqM+YMAfv+7gYmr/0\nZnSnxhprrLHGGmusscYaa6yxxhrri40YdACNNdZYY4011lhjjTXWWGONDS9rLkQba6yxxhprrLHG\nGmusscYa66s1F6KNNdZYY4011lhjjTXWWGON9dWaC9HGGmusscYaa6yxxhprrLHG+mrNhWhjjTXW\nWGONNdZYY4011lhjfbX/A6w8Zn45CjqNAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fe587bdbbe0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 画出柱状图\n",
    "full_dates.plot(kind='bar', stacked=True, figsize=(16, 8))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/python/Anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:1: FutureWarning: how in .resample() is deprecated\n",
      "the new syntax is .resample(...).sum()\n",
      "  \"\"\"Entry point for launching an IPython kernel.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7fe587abae10>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/python/Anaconda3/lib/python3.6/site-packages/matplotlib/font_manager.py:1316: UserWarning: findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans\n",
      "  (prop.get_family(), self.defaultFamily[fontext]))\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n6tcneVVVfS2TY9bv3gffAQBrwixT3z/VWrs6ydXTx99Icso89gsAa91cghoW1RlXXzB2CXuw7b7f\nAiwEtxAFgI4JagDomKAGgI4JagDomKAGgI4JagDomKAGgI4JagDomKAGgI4JagDomKAGgI4JagDo\n2MItynHjN28ZuwQAmBsjagDomKAGgI4JagDo2MIdowbG4fwQ2DeMqAGgY4IaADomqAGgY4IaADom\nqAGgY4IaADomqAGgY4IaADomqAGgY4IaADomqAGgY4IaADomqAGgY4IaADomqAGgY4IaADomqAGg\nY4IaADomqAGgY4IaADomqAGgY4IaADomqAGgY4IaADomqAGgY4IaADomqAGgY4IaADomqAGgY4Ia\nADomqAGgY4IaADomqAGgY4IaADomqAGgY4IaADomqAGgY4IaADomqAGgY4IaADomqAGgY4IaADom\nqAGgY4IaADomqAGgY4IaADomqAGgY4IaADomqAGgY4IaADomqAGgY4IaADomqAGgY4IaADq24qCu\nqodW1SeraltV3VRVr5huP6qqPlpVX53+fuT8ygWAtWWWEfVdSV7dWntEktOSXFBVj0xyYZKPt9Ye\nluTj0+cAwAqsOKhba7e21q6fPv5Bkm1Jjk1yTpLLpm+7LMnTZi0SANaquRyjrqrNSU5O8tkkR7fW\nbk0mYZ7kwfP4DgBYi9bNuoOqOizJnyR5ZWvt/1TV0M9tTbI1SY477rhZy/ipzXf+0dz2NS83j10A\nAKvWTCPqqjook5D+w9baB6abv1tVx0xfPybJ95b7bGvt0tbaltbalo0bN85SBgAsrFnO+q4k706y\nrbX2n5a8dFWS86ePz0/ywZWXBwBr2yxT309Icl6SG6vqhum2f5Xk4iRXVtULk9yS5BmzlQgAa9eK\ng7q19pkkezogfeZK98v+8czfmPn0hLm7cewCADrkzmQA0LH+hlXAquSKC9g3jKgBoGOCGgA6JqgB\noGOCGgA6JqgBoGOCGgA6JqgBoGOuo4Z70eMd3BJ3cYO1xIgaADrW53CBfe7Gb94ydgkADGBEDQAd\nE9QA0DFBDQAdE9QA0DFBDQAdE9QA0DFBDQAdE9QA0DFBDQAdE9QA0DFBDQAdE9QA0DFBDQAdE9QA\n0DFBDQAdE9QA0DFBDQAdE9QA0DFBDQAdE9QA0DFBDQAdWzd2AdCzG795y9glAGucETUAdExQA0DH\n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\n5JK6pVfD6NNwejXMIvVJUN+HqjqstfbDsevonT4Np1fD6NNwejXMau2TY9T37UtjF7BK6NNwejWM\nPg2nV8Osyj456ztJVb1qTy8lOWx/1tIzfRpOr4bRp+H0aphF7JMR9cQbkxyZybXTS38dFj1aSp+G\n06th9Gk4vRpm4fpkRD1xfZI/ba1dd/cXqupFI9TTK30aTq+G0afh9GqYheuTk8mSVNUJSf5q9/XT\nd3vt6NV8tuA86dNwejWMPg2nV8MsYp8ENQB0bFXO189bVR1eVRdX1Zerauf017bptiPGrq8X+jSc\nXg2jT8Pp1TCL2CdBPXFlku8nOb21tqG1tiHJP55u++NRK+uLPg2nV8Po03B6NczC9cnUd5Kq+kpr\n7YS9fW2t0afh9GoYfRpOr4ZZxD4ZUU98q6peV1VH795QVUdX1eszuT8sE/o0nF4No0/D6dUwC9cn\nQT3xrCQbknyqqr5fVX+V5OokRyV55piFdUafhtOrYfRpOL0aZuH6ZOp7qqpOTLIpyTVL7wVbVWe1\n1v58vMr6ok/D6dUw+jScXg2zaH0yok5SVS9P8sEkL8tkLdNzlrz8xnGq6o8+DadXw+jTcHo1zCL2\nyZ3JJn4tyeNbaz+sqs1J3l9Vm1trb83k/rBM6NNwejWMPg2nV8MsXJ8E9cSBu6dHWms3V9Xpmfzh\n/lxW6R/sPqJPw+nVMPo0nF4Ns3B9MvU9cVtVPXb3k+kf8tlJHpTkUaNV1R99Gk6vhtGn4fRqmIXr\nk5PJklTVpiR3tdZuW+a1J7TW/vsIZXVHn4bTq2H0aTi9GmYR+ySoAaBjpr4BoGOCGgA6JqgBoGOC\nGgA6JqgBoGP/H8B6Ib9etUS+AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fe587b498d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "full_dates.resample('m', how='sum').to_period('m').plot(kind='bar', stacked=True, figsize=(8, 8))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 时间事件日志\n",
    "\n",
    "感兴趣的同学可以参阅 https://github.com/kamidox/utils 。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
